Не в сети
Данный хак позволит в большей точности отыскать новость по ключу, тобишь по заголовку, а не по всей статье.
Полагаю, это снизит немного нагрузку на сервер (Базу Данных), так как мы будем делать поиск по одному полю таблицы, а не по всей. Допустим, у вас полно данных в доп. полях, то стандартный поиск будет и по ним тоже шурстать.
Удачи!
Открываем engine/ajax/search.php
Ищем:
PHP:
$db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1".$this_date." AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");
PHP:
//$db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1".$this_date." AND (short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");
$db->query("SELECT id, short_story, title, date, alt_name, category FROM " . PREFIX . "_post WHERE " . PREFIX . "_post.approve=1".$this_date." AND (title LIKE '%{$query}%') ORDER by date DESC LIMIT 5");
Итак, что я сделал? я из поискового запроса удалил
PHP:
short_story LIKE '%{$query}%' OR full_story LIKE '%{$query}%' OR xfields LIKE '%{$query}%' OR
Теперь оптимизируем простой поиск.
Открываем engine/modules/search.php
ищем:
PHP:
if( isset( $_REQUEST['titleonly'] ) ) $titleonly = intval( $_REQUEST['titleonly'] ); else $titleonly = 0;
PHP:
if( isset( $_REQUEST['titleonly'] ) ) $titleonly = intval( $_REQUEST['titleonly'] ); else $titleonly = 3;
вместо 3 можно прописать 1 или 2
Вот за что отвечают цифры:
0 => Искать только в статьях (учитываются и описания, и заголовки, и доп. поля)
1 => Искать только в комментариях
2 => Искать только в статических страницах
3 => Искать только в заголовках статей
Удачи!