Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Вывод изображения в поиске
- 
		- Dmitry (weissfl)
- 161
 
- 
		19 января 2014 г.
- 
		Кто нибудь может поделиться решением, как вывести в поиске прикрепленное к элементам изображение. Ну само собой только первое из массива, все ненужны.
- 
		
- 
				
- 
		
- 
		22 января 2014 г.
- 
		Про какие элементы идет речь? Про товары? Тогда если использовать поиск по товарам, сделать шаблон и выводить там только поле название товара, то при поиске выпадает обычная плитка товаров, кторая редактируется в shop.list.block или как он там пишется
- 
		
- 
				
- 
		- 
		- Dmitry (weissfl)
- 161
 
- 
		22 января 2014 г.
- 
		Нет, не только товары. Любые статьи, новости, товары, все в общем
- 
		
- 
				
- 
		
 
- 
		
 
- 
		11 мая 2018 г. , редакция: 11 мая 2018 г.
- 
		Подниму древнюю темку.
 
 Проблема в чем: сайт древней версии 5.3. Обновлять сейчас не вариант, потому что автоматом сделать не получится, а переносить вручную товары и запиленные изменения - адская работа.
 
 Выводятся результаты поиска обычным списком.
 Кодif (! empty($result["value"]))
 {
 echo '<div class="search_result">'.$this->diafan->_('Всего найдено').": <b>".$result["value"].": ".$result["count"]."</b>
 <br>".$this->diafan->_('Документы: <strong>%d—%d</strong> из %d найденных', true, $result["count_start"], $result["count_finish"], $result["count"])
 . '</div>';
 
 if (!empty($result["rows"]))
 {
 $i = $result["count_start"];
 foreach ($result["rows"] as $row){
 echo '<div class="search_list">'.$i++.'. '
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a>'
 .'<br>'
 .$row["snippet"]
 .'<br>'
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">http://'.BASE_URL.'/'.$row["link"].'</a>'
 .'</div>';
 }
 }
 
 echo (!empty($result["paginator"]) ? $result["paginator"] : '');
 }
 else
 {
 echo '<div class="search_result">'.$this->diafan->_('Извините, слово для поиска не задано.').'</div>';
 }
 
 В последних версиях (6.0 например) добавлено перед выводом такое:
 Кодif (! empty($res["class"]))
 {
 echo $this->get($res["func"], $res["class"], $res);
 }
 
 Благодаря чему, если находятся товары, то они отображаются так, как в категории магазина.
 
 Собственно, это и нужно.
 
 Сообразить, куда этот код ведет и что вызывает, не получилось. Где-то что-то упускаю.
 Может быть специалисты смогут подсказать что-то по данному вопросу. Куда хоть копать? Или вообще возможно вызвать картинки вместе с названием найденного товара?
 
 Если получится вызвать картинки, то остальное уже дорисую. Больше ничего и не нужно.
 
 Заранее спасибо за подсказки.
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г.
- 
		На бум говорю, вообще проверять нужно, вот и проверите:)
 Тупо скопируйте с файла shop.view.rows.php вывод картинок и вставьте сюда.
 Наверняка в массиве result присутствуют картинки
- 
		- 
				Поблагодарили: Александра (Alexa0105)
 
- 
				
- 
		
- 
		11 мая 2018 г.
- 
		Вы будете смеяться, но в этой версии такого файла вообще не существует  
 
 $row["img"] пыталась всунуть, не тянет.
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г.
- 
		Напишите сл. код в этом файлеКод
 echo '<pre>';
 print_r($result);
 echo '</pre>;
 
 И покажите мне что вывелось
- 
		
- 
				
- 
		
- 
		11 мая 2018 г.
- 
		Код[rows] => Array
 (
 [0] => Array
 (
 [name] => Жеребец фриз (производитель)
 [url] => shop/ekzoticheskie-porody/zherebets-friz-proizvoditelROUTE_END
 [snippet] => Жеребец фриз (производитель) Предлагается на продажу шикарный жеребец фризской упряжной...
 [link] => shop/ekzoticheskie-porody/zherebets-friz-proizvoditel/
 )
 [1] => Array
 (
 [name] => Андалузский жеребец
 [url] => shop/ekzoticheskie-porody/andaluzskiy-zherebetsROUTE_END
 [snippet] => Андалузский жеребец Предлагается на продажу красивый жеребец, тип Барокко, вывезеный...
 [link] => shop/ekzoticheskie-porody/andaluzskiy-zherebets/
 )
 
 [2] => Array
 (
 [name] => Жеребец пони-класс
 [url] => shop/poni/zherebets-poni-klassROUTE_END
 [snippet] => Жеребец пони-класс Предлагается на продажу изящный гнедой жеребец пони-класс (райд...
 [link] => shop/poni/zherebets-poni-klass/
 )
 
 [3] => Array
 (
 [name] => Вороной орловец
 [url] => shop/rysaki/voronoy-orlovets1032ROUTE_END
 [snippet] => Вороной орловец Предлагается на продажу орловский жеребец вороной, 2010 года рождения,...
 [link] => shop/rysaki/voronoy-orlovets1032/
 )
 
 )
 
 [count] => 152
 [count_start] => 1
 [count_finish] => 10
 [count_page] => 10
 [value] => жеребец
 [action] => /search/
 [button] => Найти
- 
		
- 
				
- 
		
 
- 
		11 мая 2018 г.
- 
		Т.е. я вижу вообще только 3 параметра: имя, ссылку и сниппет.
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г. , редакция: 11 мая 2018 г.
- 
		Тогда все посложнее, чем я предполагал, нужно в модельку лезть, найти функцию которая собирает этот массив и дополнить его фотографиями.
 
 Если найдете мне эту функцию и вставите сюда, напишу что нужно дополнить.
 
 файл shop.model.php, если в той версии конечно не так все сильно по другому)))))
 
 примерное название функции list_search()
- 
		- 
				Поблагодарили: Александра (Alexa0105)
 
- 
				
- 
		
- 
		11 мая 2018 г.
- 
		Файл search.model.php, в шопе нормально, если делать поиск-фильтр по товарам.
- 
		
- 
				
- 
		
 - 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г.
- 
		Александра, дайте мне эту функцию уже))
- 
		
- 
				
- 
		
 
 
- 
		
 
- 
		11 мая 2018 г.
- 
		Из модельки поиска
 КодSELECT r.name, r.url, r.snippet".
 Видимо, вот эти три параметра... наверно...
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г.
- 
		Скорей всего оно, скопируйте всю функцию.
- 
		
- 
				
- 
		
 
- 
		11 мая 2018 г.
- 
		Код/**
 * Search_model
 */
 class Search_model extends Model
 {
 /**
 * Генерирует список найденных страниц
 *
 * @return array
 */public function show_module()
 {
 $search = '';
 if (isset($_GET["searchword"]))
 {
 if (is_array($_GET["searchword"]))
 {
 $_GET["searchword"] = '';
 }
 $search = trim(htmlspecialchars(stripslashes($_GET["searchword"])));
 if(empty($_SESSION["search"]) || ! in_array($_GET["searchword"], $_SESSION["search"]))
 {
 $_SESSION["search"][] = $_GET["searchword"];
 if($count = $this->diafan->configmodules("count_history"))
 {
 DB::query("INSERT INTO {search_history} (created, name) VALUES (%d, '%h')", time(), $_GET["searchword"]);
 if(DB::query_result("SELECT COUNT(*) FROM {search_history}") > $count)
 {
 DB::query("DELETE FROM {search_history} ORDER BY created ASC LIMIT 1");
 }
 }
 }
 }
 $this->result = array();
 
 if (! empty($search))
 {
 Customization::inc('includes/searchwords.php');
 $searchwords = new Searchwords();
 $search_words = $searchwords->prepare($search);
 
 $keys = array();
 $result = DB::query("SELECT id, keyword FROM {search_keywords} WHERE keyword IN ('".implode("', '", $search_words)."')");
 while ($row = DB::fetch_array($result))
 {
 $keys[$row["keyword"]] = $row["id"];
 }
 DB::free_result($result);
 
 $temp_table = false;
 if($this->diafan->configmodules("search_all_word", "search"))
 {
 $order = '';
 // обязательны все слова
 $where = "";
 foreach($search_words as $k => $key)
 {
 $where .= " INNER JOIN {search_index} AS i".$k." ON r.id=i".$k.".result_id AND i".$k.".keyword_id=".$keys[$key];
 $order .= 'i'.$k.'.rating ASC, ';
 }
 $order .= "r.rating DESC";
 }
 else
 {
 // ищет хотя бы одно слово, сортировка по количеству найденных
 $where = "INNER JOIN {search_index} AS i ON r.id=i.result_id AND i.keyword_id IN ('".implode("', '", $keys)."')";
 if(count($search_words) > 1)
 {
 $temp_table = true;
 DB::query("CREATE TEMPORARY TABLE {search_temp} (
 keyword_id int(11) unsigned NOT NULL,
 rating tinyint(2) unsigned NOT NULL
 );");
 $where .= " INNER JOIN {search_temp} AS t ON t.keyword_id=i.keyword_id";
 $query = '';
 foreach($search_words as $i => $word)
 {
 $query .= ($query ? "," : '')." (".$keys[$word].", ".(count($search_words) - $i).")";
 }
 DB::query("INSERT INTO {search_temp} (keyword_id, rating) VALUES".$query);
 }
 $order = ($temp_table ? "tmp_rating" : "r.rating")." DESC";
 }
 
 $nen = DB::query_result("SELECT COUNT(DISTINCT r.id) FROM {search_results} AS r "
 .($this->diafan->_user->role_id ? " LEFT JOIN {access} AS a ON a.element_id=r.id AND a.module_name='search'" : "")
 .$where." WHERE r.lang_id=%d"
 ." AND (r.access='0'"
 .($this->diafan->_user->role_id ? " OR r.access='1' AND a.role_id=".$this->diafan->_user->role_id : '')
 .")", _LANG);
 
 ////navigation//
 if ($nastr = $this->diafan->configmodules("nastr", "search"))
 {
 $this->diafan->_paginator->nastr = $nastr;
 }
 $this->diafan->_paginator->page = $this->diafan->page;
 $this->diafan->_paginator->navlink = $this->diafan->_route->current_link("page");
 $this->diafan->_paginator->get_nav = '?searchword='.$search;
 $this->diafan->_paginator->nen = $nen;
 $links = $this->diafan->_paginator->get();
 ////navigation///
 
 $k = ! $this->diafan->page ? 1 : ($this->diafan->page - 1) * $this->diafan->_paginator->nastr + 1;
 
 $this->result["paginator"] = $this->diafan->_tpl->get('get', 'paginator', $links);
 
 $count = 0;
 $result = DB::query_range("
 SELECT r.name, r.url, r.snippet".($temp_table ? ", SUM(t.rating) AS tmp_rating" : "")." FROM {search_results} as r "
 .($this->diafan->_user->role_id ? " LEFT JOIN {access} AS a ON a.element_id=r.id AND a.module_name='search'" : "")
 .$where
 ." WHERE r.lang_id=%d"
 ." AND (r.access='0'"
 .($this->diafan->_user->role_id ? " OR r.access='1' AND a.role_id=".$this->diafan->_user->role_id : '')
 .")"
 ." GROUP BY r.id ORDER BY ".$order,
 _LANG, $this->diafan->_paginator->polog, $this->diafan->_paginator->nastr);
 while ($row = DB::fetch_array($result))
 {
 $row["link"] = str_replace('ROUTE_END', ROUTE_END, $row["url"]);
 $this->result["rows"][] = $row;
 $count++;
 }
 DB::free_result($result);
 
 $this->result["count"] = $this->diafan->_paginator->nen;
 $this->result["count_start"] = $this->result["count"] ? ($this->diafan->_paginator->page - 1) * $this->diafan->_paginator->nastr + 1 : 0;
 $this->result["count_finish"] = $this->result["count"] ? $this->result["count_start"] - 1 + $count : 0;
 $this->result["count_page"] =
 $this->diafan->_paginator->nen > $this->diafan->_paginator->nastr ?
 $this->diafan->_paginator->nastr : $this->diafan->_paginator->nen;
 }
 $this->result["value"] = $search;
 $this->result["action"] = BASE_PATH_HREF.$this->diafan->_route->link($this->diafan->cid);
 $this->result["button"] = 'Найти';
 
 return $this->result;
 }
 
 /**
 * Генерирует контент для шаблонной функции: форма поиска по сайту
 *
 * @return array
 */
 public function show_search($button)
 {
 $result["value"] = '';
 if (isset($_GET["searchword"]))
 {
 if (is_array($_GET["searchword"]))
 {
 $_GET["searchword"] = '';
 }
 $result["value"] = trim(htmlspecialchars(stripslashes($_GET["searchword"])));
 }
 $result["action"] = BASE_PATH_HREF.$this->diafan->_route->module('search', true);
 $result["button"] = $button;
 return $result;
 }
 }
- 
		
- 
				
- 
		
 
- 
		11 мая 2018 г.
- 
		Упс, погорячилась. Всю модель пихнула 
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г.
- 
		вот как мы сделаем, будет проще, в модельке сейчас только id товара вытащим, а то даже его нет.Код
 $result = DB::query_range("
 SELECT r.id, r.name, r.url, r.snippet"
 
 Потом во вьюхе сделаем запрос в базу на картинку.
 
 Вначале цикла форыча
 Кодforeach ($result["rows"] as $row)
 {
 
 Вставьте этот код
 Код
 $images = $this->diafan->_images->get("medium", $row["id"], "shop", "element", 0, $row["name"], false, 2, "large")
 
 foreach($images as $img){
 echo '<img src="'.$img["src"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
 }
 
 
 если ничего не напутал, и я не знаю, сработает ли этот код в вашей версии, попробуйте.
- 
		
- 
				
- 
		
 
- 
		11 мая 2018 г.
- 
		Цитатав модельке сейчас только id товара вытащим
 Это получилось.
 ЦитатаВставьте этот код
 В общем, не цепляет.
 
 print_r($result);
 видит
 Код[rows] => Array
 (
 [0] => Array
 (
 [id] => 7279
 [name] => Андалузский жеребец
 [url] => shop/ekzoticheskie-porody/andaluzskiy-zherebetsROUTE_END
 [snippet] => Андалузский жеребец Предлагается на продажу красивый жеребец, тип Барокко, вывезеный...
 [link] => shop/ekzoticheskie-porody/andaluzskiy-zherebets/
 )
 
 Но общее направление поняла. Спасибо. Еще покопаюсь...
 В новых версиях выводится же как-то эта картинка. Значит модельки еще сравнить попробовать можно.
- 
		
- 
				
- 
		
 - 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г. , редакция: 11 мая 2018 г.
- 
		Резалт правильный выводит, мы туда только айди добавили, Вы код добавили с картинками?
 Ошибка выводиться какая нибудь?
 
 Добавьте сл.код если нет ошибки.
 Кодecho '<pre>';
 print_r($images);
 echo '</pre>';
 
 P.S. Я посмотрел документацию по диафану 5.3. там есть поддержка того что я написал.
 
 P.P.S. Проверил еще раз))))
 
 Нужно заменить чуткаКод$images = $this->diafan->_images->get("medium", $row["id"], "shop", 0, $row["name"], false, 2, "large")
- 
		
- 
				
- 
		
 
- 
		
 
- 
		
 
 
- 
		
 
 
- 
		
- 
		11 мая 2018 г.
- 
		ЦитатаВы код добавили с картинками?
 Да и заменила сейчас новым.
 ЦитатаОшибка выводиться какая нибудь?
 Ошибок не вижу.
 Цитатаecho '<pre>';
 print_r($images);
 echo '</pre>';
 Вообще ничего не вывело, кроме самого поиска.
 ЦитатаЯ посмотрел документацию по диафану 5.3.
 Подскажите ссылку, пожалуйста, я почему-то совсем не вижу такой документации. Да и дистрибутива оригинального нет.
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		11 мая 2018 г.
- 
		ЦитатаПодскажите ссылку, пожалуйста, я почему-то совсем не вижу такой документации. Да и дистрибутива оригинального нет.
 https://www.diafan.ru/docs/manual_diafan.CMS_5.3.pdf
 ЦитатаВообще ничего не вывело, кроме самого поиска.
 Скопируйте всю вьюху.
 Он не может ничего не вывести. Включен режим разработчика?
- 
		- 
				Поблагодарили: Александра (Alexa0105)
 
- 
				
- 
		
- 
		11 мая 2018 г.
- 
		За ссыль спасибо.
 ЦитатаВключен режим разработчика?
 Был включен. Сейчас пошла перепроверить и увы, доступа в админку нет. Придется ждать друга с сайтом, он видимо ночью понатыкал в админке и отрубил меня случайно.
 
 В любом случае спасибо за помощь, поддержку и подпинывания в нужном направлении.
 Позднее отпишусь, а пока почитаю матчасть.
- 
		
- 
				
- 
		
 
 
- 
		
- 
		11 мая 2018 г.
- 
		Истину глаголите, Степан. Нарисовались ошибки в режиме разработчика. Действительно отключили ночью его.Код
 Undefined variable: images
 #1 include(/home/g/goldgadgru/traversale/public_html/modules/search/views/search.view.show.php) called at [/home/g/goldgadgru/traversale/public_html/includes/template.php:92]
 #2 Template->get(show, search, Array(...)) called at [/home/g/goldgadgru/traversale/public_html/modules/search/search.php:40]
 #3 Search->show_module() called at [/home/g/goldgadgru/traversale/public_html/includes/function.php:118]
 #4 Theme_functions->show_module() called at [/home/g/goldgadgru/traversale/public_html/includes/function.php:57]
 #5 Theme_functions->show_body(Array(...)) called at [(null):0]
 #6 call_user_func_array(Array(...), Array(...)) called at [/home/g/goldgadgru/traversale/public_html/includes/parser_theme.php:216]
 #7 Parser_theme->start_element(Array(...)) called at [/home/g/goldgadgru/traversale/public_html/includes/parser_theme.php:106]
 #8 Parser_theme->get_function_in_theme(<?php if(!defined("DIAFAN")){include("../includes/404.php");exit();}?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www...) called at [/home/g/goldgadgru/traversale/public_html/includes/parser_theme.php:68]#9 Parser_theme->show_theme(Search) called at [/home/g/goldgadgru/traversale/public_html/includes/init.php:395]
 #10 Init->start() called at [/home/g/goldgadgru/traversale/public_html/index.php:62]
 
 Говорит, что неопределенная переменная.
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		12 мая 2018 г.
- 
		Нужно еще вчера была скопировать мне всю вашу вьюху.
 ЦитатаСкопируйте всю вьюху.
- 
		
- 
				
- 
		
- 
		12 мая 2018 г.
- 
		Код<?php
 /**
 * Шаблон результатов поиска по сайту
 *
 * @package Diafan.CMS
 * @author diafan.ru
 * @version 5.3
 * @license http://cms.diafan.ru/license.html
 * @copyright Copyright (c) 2003-2013 OOO «Диафан» (http://diafan.ru)
 */if (!defined('DIAFAN'))
 {
 include dirname(dirname(dirname(__FILE__))).'/includes/404.php';
 }
 
 if (! empty($result["value"]))
 {
 echo '<div class="search_result">'.$this->diafan->_('Всего найдено').": <b>".$result["value"].": ".$result["count"]."</b>
 <br>".$this->diafan->_('Документы: <strong>%d—%d</strong> из %d найденных', true, $result["count_start"], $result["count_finish"], $result["count"])
 . '</div>';
 
 if (!empty($result["rows"]))
 {
 $i = $result["count_start"];
 foreach ($result["rows"] as $row)
 {
 
 $images = $this->diafan->_images->get("medium", $row["id"], "shop", 0, $row["name"], false, 2, "large");
 foreach ($images as $img) {
 echo '<img src="'.$img["src"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
 }
 
 
 echo '<div class="search_list">'.$i++.'. '
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a>'
 .'<br>'
 .$row["snippet"]
 .'<br>'
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">http://'.BASE_URL.'/'.$row["link"].'</a>'
 .'</div>';
 }
 }
 
 echo (!empty($result["paginator"]) ? $result["paginator"] : '');
 }
 else
 {
 echo '<div class="search_result">'.$this->diafan->_('Извините, слово для поиска не задано.').'</div>';
 }
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		12 мая 2018 г.
- 
		Я чутка отформатировал код и добавил условие, чтобы ошибку убрать, но саму проблему не решил, будь доступы конечно уже 10 раз сделал бы. Попробуйте поиграться с 4 параметром, который сейчас указан 0, в функции get(). Это айди сайта, к которому прикреплены изображения, в последней версии диафана там можно оставить 0 и все ок, а в этой возможно нужно написать номер страницы сайта, к которой прикреплен магазин.Код
 <?php if(!defined('DIAFAN')){include dirname(dirname(dirname(__FILE__))).'/includes/404.php';}
 
 if(!empty($result["value"])){
 echo '<div class="search_result">'.$this->diafan->_('Всего найдено').": <b>".$result["value"].": ".$result["count"]."</b>
 <br>".$this->diafan->_('Документы: <strong>%d—%d</strong> из %d найденных', true, $result["count_start"], $result["count_finish"], $result["count"])
 . '</div>';
 
 if(!empty($result["rows"])){
 $i = $result["count_start"];foreach ($result["rows"] as $row){
 
 $images = $this->diafan->_images->get("medium", $row["id"], "shop", 0, $row["name"], false, 1, "large");
 
 if(!empty($images)){
 foreach($images as $img){
 echo '<img src="'.$img["src"].'" alt="'.$img["alt"].'" title="'.$img["title"].'">';
 }
 }
 
 echo '<div class="search_list">'.$i++.'. '
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a>'
 .'<br>'
 .$row["snippet"]
 .'<br>'
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">http://'.BASE_URL.'/'.$row["link"].'</a>'
 .'</div>';
 
 }
 }
 echo (!empty($result["paginator"]) ? $result["paginator"] : '');
 }else{
 echo '<div class="search_result">'.$this->diafan->_('Извините, слово для поиска не задано.').'</div>';
 }
- 
		
- 
				
- 
		
 
- 
		12 мая 2018 г.
- 
		В общем, не хочет совсем выводить.
 Ошибок в режиме разработчика не обнаружено.
 id магазина = 1. Поставила, тоже не хочет.
 Видимо, пилить нужно глубже.
 
 П.С. Отняла у вас кучу времени...
- 
		
- 
				
- 
		- 
		- Степан (idxdoc)
- 334
 
- 
		12 мая 2018 г.
- 
		Короче, я не знаю какого эта функция ничего не возвращает, все должно работать, нужно вникать больше.
 По большому счету можем тупо сделать запрос в базу да и похер в данном случае.
 Код
 <?php if(!defined('DIAFAN')){include dirname(dirname(dirname(__FILE__))).'/includes/404.php';}
 
 if(!empty($result["value"])){
 echo '<div class="search_result">'.$this->diafan->_('Всего найдено').": <b>".$result["value"].": ".$result["count"]."</b>
 <br>".$this->diafan->_('Документы: <strong>%d—%d</strong> из %d найденных', true, $result["count_start"], $result["count_finish"], $result["count"])
 . '</div>';
 
 if(!empty($result["rows"])){
 $i = $result["count_start"];foreach($result["rows"] as $row){
 
 $img_product = DB::query_fetch_array('SELECT name, [alt], [title] FROM {images} WHERE module_name="shop" AND element_id="%d" AND trash="0"', $row['id']);
 
 if(!empty($img_product)){
 echo '<img src="'.BASE_PATH_HREF.'/userfiles/shop/medium/'.$img_product["name"].'" alt="'.$img_product["alt"].'" title="'.$img_product["title"].'">';
 }
 
 echo '<div class="search_list">'.$i++.'. '
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">'.$row["name"].'</a>'
 .'<br>'
 .$row["snippet"]
 .'<br>'
 .'<a href="'.BASE_PATH_HREF.$row["link"].'">http://'.BASE_URL.'/'.$row["link"].'</a>'
 .'</div>';
 
 }
 }
 echo (!empty($result["paginator"]) ? $result["paginator"] : '');
 }else{
 echo '<div class="search_result">'.$this->diafan->_('Извините, слово для поиска не задано.').'</div>';
 }
 
 
 Посмотрите только путь правильный ли я записал, я не знаю какой он в вашем случае. Это где выводим картинку в атрибуте "src"
- 
		
- 
				
- 
		
 
- 
		
 
- 
		
 
 
- 
		
Новости
- 
                            19 сентября
- 
                            Мы внесли изменения в лицензию и объявляем, что прекращаем техническую консультационную поддержку сайтов на DIAFAN.CMS версий старше 7.0. А это все минорные версии платформы, предшествующие актуальной линейке, а именно: версии серии 4.x, 5.x, 6.x.
- 
                            15 сентября
- 
                            У нас отличные новости! Мы выпустили новую сборку DIAFAN.CMS 7.3, которая включает встроенные нейросети непосредственно в административной панели. Это значит, что создание контента для вашего сайта больше не будет проблемой — искусственный интеллект возьмет эту задачу на себя, избавляя вас от необходимости привлекать копирайтеров или тратить время на написание текстов самостоятельно.
- 
                            25 марта
- 
                            Мы обновили систему тарифов, учитывая опыт работы с клиентами и современные рыночные условия. Новая тарифная сетка разработана специально для того, чтобы лучше отвечать вашим потребностям. Резкого повышения цен не произошло. Более того, некоторые тарифы даже стали выгоднее и доступнее.
Блоги
- 
								10.09.2025
- 
								DIAFAN.CMS славится нагрузоустойчивостью и безопасностью, про инциденты со взломом сайта на нашей системе давненько не слышали, но недавно получили мы письмо от fstec.ru такого характера: Обнаружена уязвимость в CMS-системе DIAFAN, позволяющая нарушителю, действующему удалённо, красть сессионные куки через XSS-атаку. 
Блоги
- 
								24.04.2024
- 
								Выпустили новую сборку DIAFAN.CMS 7.1.4. 
Блоги
- 
								12.01.2024
- 
								В данном руководстве познакомим вас с панелью управления DIAFAN.CMS