вопрос
Подскажите, как в похожих новостях и в поиске запретить вывод определенной категории? Ситуация следующая, на сайте имеет каталог фильмов и ведется параллельно категория с новостями, мне нужно что бы в поиске и в related news не выводились материалы с категории новостей.
Открыть show.full.php, найти:
з.ы. Если в админке поле не нужно, то в show.full.php нужно найти:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$allowed_cats}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );и заменить на:
if ( $config['not_add_to_related'] !== '' ) $not_add_to_related = "AND category NOT IN (" . $config['not_add_to_related'] . ") ";Открыть /engine/inc/options.php, найти:
else $not_add_to_related = "";
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$allowed_cats}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " {$not_add_to_related}AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );
showRow( $lang['opt_sys_reason'], $lang['opt_sys_reasond'], "<textarea class=\"edit bk\" style=\"width:350px;height:100px;\" name=\"save_con[offline_reason]\">{$config['offline_reason']}</textarea>" );ниже добавить:
showRow( $lang['not_add_to_related'], $lang['not_add_to_related_d'], "<input class=\"edit bk\" type=text style=\"text-align: center;\" name=\"save_con[not_add_to_related]\" value=\"{$config['not_add_to_related']}\" size=\"40\" />" );Открыть /language/Russian/adminpanel.lng, найти:
'wysiwyg_language' => "ru",и ниже добавить:
'not_add_to_related' => "Не выводить в {related-news}",Затем заходите в админку, открываете настройки и пишете через запятую ID категорий, которые не должны выводиться в похожих публикациях (в таком формате: 29,30,31,32,33). Также не забудьте перестроить кэш похожих новостей.
'not_add_to_related_d' => "Введите, через запятую и без пробелов, ID категорий которые не должны отображаться в похожих новостях",
з.ы. Если в админке поле не нужно, то в show.full.php нужно найти:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$allowed_cats}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );и заменить на:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$allowed_cats}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND category NOT IN (29,30,31,32,33) AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );В этом варианте придется каждый раз править файл show.full.php чтобы дописать нужный id категории.