Вывести в поиске Картинки. Возможно ли?

 
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2776
Обратил внимание, что при поиске, сайт выдает заголовок и описание и ссылку на материал.

Возможно ли еще вывести и картинку, если например поиск по инстантшопу, универсальному кталогу, новостям? Это было бы удобно и наглядно для пользователя.
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2776
Код поиска, думаю r2 не будет против, т.к этот файл отвечает только за поиск

Код PHP:
  1. <?php
  2. /*********************************************************************************************/
  3. // //
  4. // InstantCMS v1.6 (c) 2010 FREEWARE //
  5. // http://instantcms.ru/, [email protected] //
  6. // //
  7. // written by Vladimir E. Obukhov, 2007-2010 //
  8. // //
  9. /*********************************************************************************************/
  10.  
  11. if(!defined('VALID_CMS')) { die('ACCESS DENIED'); }
  12.  
  13. function search_shop($query, $look){ //query sends here already prepared and secured!
  14.  
  15. $inCore = cmsCore::getInstance();
  16. $inDB = cmsDatabase::getInstance();
  17.  
  18. global $_LANG;
  19.  
  20. //BUILD SQL QUERY
  21. $sql = "SELECT DISTINCT con.*,
  22. cat.title cat_title,
  23. cat.seolink as cat_seolink
  24. FROM cms_shop_items con, cms_shop_cats cat
  25. WHERE MATCH(con.title, con.shortdesc, con.description) AGAINST ('$query' IN BOOLEAN MODE) AND con.category_id = cat.id AND con.published=1";
  26.  
  27. //QUERY TO GET TOTAL RESULTS COUNT
  28. $result = $inDB->query($sql);
  29. $found= $inDB->num_rows($result);
  30.  
  31. if ($found){
  32. while($item = $inDB->fetch_assoc($result)){
  33. //build params
  34. $inCore->loadLanguage('components/shop');
  35. $link = "/shop/".$item['seolink'].".html";
  36. $place = $_LANG['SHOP'];
  37. $placelink = "/shop/".$item['cat_seolink'];
  38. $item['cat_title'] = mysql_real_escape_string($item['cat_title']);
  39. //include item to search results
  40. if (!dbRowsCount('cms_search', "session_id='".session_id()."' AND link='$link'")){
  41. $sql = "INSERT INTO cms_search (`id`, `session_id`, `title`, `link`, `place`, `placelink`)
  42. VALUES ('', '".session_id()."', '".$item['title']."', '$link', '$place', '$placelink')";
  43. $inDB->query($sql);
  44. }
  45. }
  46. }
  47.  
  48. $query = str_replace('+', '', $query);
  49. $query = str_replace(' ', '', $query);
  50. $query = str_replace('*', '%', $query);
  51.  
  52. //BUILD SQL QUERY
  53. $sql = "SELECT cat.title cat_title,
  54. cat.seolink as cat_seolink
  55. FROM cms_shop_cats cat
  56. WHERE cat.title LIKE '%{$query}%'";
  57.  
  58. //QUERY TO GET TOTAL RESULTS COUNT
  59. $result = $inDB->query($sql);
  60. $found = $inDB->num_rows($result);
  61.  
  62. if ($found){
  63. while($item = $inDB->fetch_assoc($result)){
  64. //build params
  65. $inCore->loadLanguage('components/shop');
  66. $link = "/shop/".$item['cat_seolink'];
  67. $place = $_LANG['SHOP'];
  68. $placelink = "/shop/".$item['cat_seolink'];
  69. $item['cat_title'] = mysql_real_escape_string($item['cat_title']);
  70. //include item to search results
  71. $sql = "INSERT INTO cms_search (`id`, `session_id`, `title`, `link`, `place`, `placelink`)
  72. VALUES ('', '".session_id()."', '".$item['cat_title']."', '$link', '$place', '$placelink')";
  73. $inDB->query($sql);
  74. }
  75. }
  76.  
  77. return;
  78. }
  79.  
  80.  
  81. ?>
Реклама
cms
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2776
ребят, может кто помочь?
Посетитель
small user social cms
Сообщений: 51
Я так понимаю, задача слишком сложна для ее полноценной реализации.
Может возможен упрощенный вариант? Например только картинки элементов универсального каталога.
Как это можно сделать?
Посетитель
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 818
Все возможно сделать. Просто нужно доработать вывод компонента search и доработать каждый поисковый файл компонента.
Компоненты, модули, шаблоны, разработка на заказ - широкий выбор всего
Посетитель
small user social cms
Сообщений: 51
maxisoft:
Просто нужно доработать вывод компонента search и доработать каждый поисковый файл компонента.
хм.. здорово! а можно подробней, как доработать? Что нужно добавить в код?
Посетитель
small user social cms
Сообщений: 51
Пожалуйста.. вопрос для профи.. как вывести картинки в результатах поиска?
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2776
freet:
Пожалуйста.. вопрос для профи.. как вывести картинки в результатах поиска?
тоже очень интересно
Посетитель
no avatar
Медаль
Сообщений: 196
Мой пост НЕ решение!
Картинки можно вывести:
редактируется 2 файла
\system\controllers\search\model.php
templates\default\controllers\search\index.tpl.php
Пытался выбрать к примеру по полю 'photo' - для новостей. Выборка по значению поля происходит, место для картинки выставляется.

НО! Такое поле имеется только в таблице cms_con_news - то есть только для новостей.
В пейджах такого поля нет, в постах это поле называется Picture и содержание мальца другое.

Поэтому при включенном поиске во всех возможных (настройки компонента поиска в админке) - я получаю ошибку про не найденное поле в таблице.
bebystok.ru
Социальная сеть производителей товаров для детей
Посетитель
no avatar
Медаль
Сообщений: 196
model.php
Спойлер
Редактировалось: 1 раз (Последний: 22 июля 2014 в 14:39)
bebystok.ru
Социальная сеть производителей товаров для детей
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 684
yury, сделал http://instantcms.ru/blogs/mo-vlozhenie/urok-rasshirjaem-funkcional-komponenta-poisk-vyvod-izobrazhenii.html
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.