Dleshka.org
Авторизация

Хак Постер в быстром поиске через доп. поле и короткую новость

+1
TipTop 6-12-2016 Хаки DLE 0 комментариев


Многие замечали на сайтах, что когда задаёшь поисковой запрос в строчке, то результат поиска будет содержать в себе не только название искомого, но и изображение, постер, к этой статье.

Предлогается 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
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Авторизация