Хак Постер в быстром поиске через доп. поле и короткую новость
Многие замечали на сайтах, что когда задаёшь поисковой запрос в строчке, то результат поиска будет содержать в себе не только название искомого, но и изображение, постер, к этой статье.
Предлогается 2 варианта реализации сего хака: через дополнительное поле и из короткой новости.
Начнём с доп. поля.
Открываем файл engine/ajax/search.php
ищем
$db->query("SELECT id, short_story, title, date,
далее добавляем
xfields,
у нас получается
$db->query("SELECT id, short_story, title, date, xfields, alt_name, category
ищем
$description = preg_replace( "'\[attachment=(.*?)\]'si", "", $description );
ниже ставим
$xf = xfieldsdataload( $row['xfields'] );
ищем
$buffer .= "<a href=\"" . $full_link . "\">
добавляем после
<img src=\"".$xf['poster']."\" style=\"float:left; max-width:50px; margin-right:5px;\">
у нас получится
$buffer .= "<a href=\"" . $full_link . "\"><img src=\"".$xf['poster']."\" style=\"float:left; max-width:50px; margin-right:5px;\">
$xf['poster']
здесь poster меняем на своё значение поля
для вывода из краткой новости
Открываем файл engine/ajax/search.php
ищем
$row['category'] = intval( $row['category'] );
ниже ставим
$short_story = stripslashes($row['short_story']);
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $short_story, $media);
$data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i', "$3", $media[0]);
foreach($data as $url) {
$info = pathinfo($url);
if (isset($info['extension'])) {
$info['extension'] = strtolower($info['extension']);
if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
}
}
if ( count($images) ) {
$image = $url;
} else {
$image = $config['http_home_url'] . "templates/" . $config['skin'] . "/dleimages/no_image.jpg";
}
$config['http_home_url'] . templates/" . $config['skin'] . "/dleimages/no_image.jpg
тут, либо ты кидаем в папку dleimages своего шаблона заглушку no_image.jpg, либо заменяем на свою
ищем
$buffer .= "<a href=\"" . $full_link . "\">
меняем на
$buffer .= "<a href=\"" . $full_link . "\"><img src=\"" . $image . "\" alt=\"" . stripslashes( $title ) . "\" title=\"" . stripslashes( $title ) . "\" style=\"float: left;width: 70px;height: auto;margin: 0px 3px 3px 0px;\">
Будет работать на версиях 9.х -11.х
Если этот хак не сработает тогда есть еще вариант https://dleshka.org/hacks/5800-poster-v-bystrom-poiske-iz-korotkoy-novosti-rabochiy-variant-dle-111.html