Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Убрать категорию из быстрого поиска

Убрать категорию из быстрого поиска


     05.06.2014    Убрать, категорию, из быстрого, поиска    Все вопросы » Общие вопросы    3728

вопрос
Добрый день. Подскажите как убрать определенную категорию из быстрого поиска в DLE 10.2. Все перерыл не могу найти.
И еще если кто знает как сократить количество символов для быстрого поиска и обычного, все так же для DLE 10.2.
За ранее всем спасибо.

Ответил: vitnet


engine/ajax/search.php

$categorys = "73,74,75"; // <-- ID категорий через запятую: 1,2,3

if( $config['allow_multi_category'] ) {
    $get_cat_m = str_replace ( ",", "|", $categorys );
    $where_cat = "NOT IN (category regexp '[[:<:]](" . $get_cat_m . ")[[:>:]]')";
} else {
    if( $config['show_sub_cats'] ) {
        $where_cat = "NOT IN (category '" . $get_cat_m . "')";
    } else {
        $where_cat = "NOT IN (category = '{$categorys}')";
    }
}

В SQL запрос добавить
$db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1" . $this_date . " " . $where_cat . " AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");

5 комментариев

vitnet
PHP-developer

vitnet - 5 июня 2014 10:50 -

***Комментарий удален***

777Sharpey777
Юзер

777Sharpey777 - 27 июля 2015 18:51 -

А куда это вставлять? Подскажите пожалуйста.

777Sharpey777
Юзер

777Sharpey777 - 3 августа 2015 16:25 -

Ну что не кто не знает что ли?

LazyDev
PHP-developer

LazyDev - 3 августа 2015 17:02 -

А почему так
NOT IN (category regexp
а не
category NOT REGEXP
?

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Kloun1990
Юзер

Kloun1990 - 3 июня 2018 23:24 -

Всем привет, народ подскажите, правильно ли я переделал код под версию 12.1? Он работает, просто в коде не силён, а хочется знать наверняка.
if( $config['allow_multi_category'] ) {
    $get_cat_m = str_replace ( ",", "|", $categorys );
    $where_cat = " AND category NOT REGEXP '[[:<:]](" . $get_cat_m . ")[[:>:]]'";
} else {
    if( $config['not_allow_cats'] ) {
        $where_cat = " AND category NOT IN ('" . $get_cat_m . "')";
    } else {
        $where_cat = " AND category NOT IN = '{$categorys}')";
    }
}

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх