вопрос
Доброго времени суток. Понадобилось реализовать следующее, дабы следовать законам, хотелось бы скрыть контент 18+ от пользователей, которые этого видеть не хотят. Порывшись в интернете не нашел ничего подходящего. Я создал дополнительно поле в настройках профилей пользователей с именем adult, типом "список", названием "Скрывать на сайте контент 18+" и значениями "Да, мне еще нет 18" / "Нет, мне уже 18+".Подскажите как создать условие, чтобы новости из определенного раздела скрывались с сайта, если пользователь выбрал вариант ответа "Да, мне еще нет 18" ? Может кто-то уже реализовал подобное или знает где об этом почитать. Буду чрезмерно признателен.
Создать доп поле для профиля (Список).
Открыть /engine/modules/show.short.php найти :
Где $year18[0] - 0 это место положения доп поля в базе (если не переставлял то можно считать и по админке)
Где $year18[1] == "Нет" - вместо "Нет" может быть любое значение которое будет означать, что бы пользователю скрывать материал с +18
Мой вариант без запроса в БД + без запросов в новости если новости нужно скрывать.
Открыть /engine/modules/show.short.php найти :
$sql_result = $db->query( $sql_select );Выше вставить :
$year18 = explode ("||", $member_id['xfields']);Где 1,2,3,4 - это id категорий для +18
$year18 = explode ("|", $year18[0]);
if(in_array($category_id, array(1,2,3,4)) AND $year18[1] == "Нет")
{
$tpl->load_template( 'info.tpl' );
$tpl->set( '{error}', "Материал +18" );
$tpl->set( '{title}', "Ойой, кто-то хочет пошалить!" );
$tpl->compile( 'content' );
$tpl->clear();
return;
}
Где $year18[0] - 0 это место положения доп поля в базе (если не переставлял то можно считать и по админке)
Где $year18[1] == "Нет" - вместо "Нет" может быть любое значение которое будет означать, что бы пользователю скрывать материал с +18
Мой вариант без запроса в БД + без запросов в новости если новости нужно скрывать.