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

Как вывести уменьшенную копию изображения в быстром поиске?


     14.07.2017    Общие вопросы по PHP, Хаки    1303

вопрос
Нашел такой хак https://dle-faq.ru/faq/common/3423-redaktirovanie-bystrogo-poiska.html.
Все работает, но проблема в том что там выводится оригинальное изображение, а мне нужно чтобы выводилась уменьшенная копия.

Ответил: yeahga


В файле engine/ajax/search.php

Найти код:
date, alt_name, category


Заменить на:
date, alt_name, category, xfields


Найти строку:
while($row = $db->get_row()){


После нее вставить:
$xfieldsdata = xfieldsdataload( $row['xfields'] );


Найти строку:
$buffer .= "<a href=\"" . $full_link . "\"><span class=\"searchheading\">" . stripslashes( $title ) . "</span>";


Перед ней вставить:
if($xfieldsdata['имя доп. поля с картинкой'] ) {
			$path_parts = @pathinfo($xfieldsdata['имя доп. поля с картинкой']);

			if( file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
				$thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
				$img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
			} else {
				$img_url = 	$config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
				$thumb_url = "";
			}					
			
}


Пример использования:
$buffer .= "<a href=\"" . $full_link . "\"><img width=\"300\" height=\"300\" src=\"" . $thumb_url . "\" alt=\"\" /></a>";

2 комментария

lehasta
Юзер

lehasta - 22 июля 2017 00:59 -

Задайтесь вопросом "Почему мне столько дней никто не отвечает?"

w1st
Юзер

w1st - 9 июня 2018 02:00 -


Спасибо за хак,нашлась конечно одна проблемка...
Если у новости нет изображения то она тянет это изображение с предыдущей новости, пришлось вечер покопаться (так как php я особо не знаю) но вот вам решение:
Как писалось выше "Найти строку"
$buffer .= "<a href=\"" . $full_link . "\"><span class=\"searchheading\">" . stripslashes( $title ) . "</span>";

И перед ней вставить:

if(!empty($xfieldsdata['имя доп. поля с картинкой']) ) {
	$path_parts = @pathinfo($xfieldsdata['имя доп. поля с картинкой']);
	if( file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
		$thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
		$img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
	} else {
		$img_url = 	$config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
		$thumb_url = "";
	}
} else {
	$thumb_url = $config['http_home_url']. "templates/{$config['skin']}/images/картинка_глушылка.png";
	$img_url = $config['http_home_url']. "templates/{$config['skin']}/images/картинка_глушылка.png";
}

Мой пример использования:

$buffer .= "<a href=\"" . $full_link . "\" class=\"asr-story\">";
$buffer .= "<img alt=\"".stripslashes($title)."\" src=\"$thumb_url\" class=\"asr-image\" />";
$buffer .= "<div class=\"asr-story-info\"><span class=\"asr-title\">".stripslashes($title)."</span>";
$buffer .= "<span class=\"asr-description\">".$description."</span></div></a>";

P.S. - Вместо src=\"$thumb_url\" можно так же использовать src=\"$img_url\"

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

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

наверх