0 Пользователей и 1 Гость просматривают эту тему.
  • 90 Ответов
  • 20080 Просмотров
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Здравствуйте, поискал по форуму, не нашел решения :(
Поэтому Решение:
Речь пойдет о связке модуля поиска RokAjaxSearch и компонента магазина JoomShopping 3.11.4 + Joomla 2.5 + изображения товаров в результатах поиска.
Данный модуль может выводить результаты поиска с помощью AJAX технологии сразу под строкой поиска.

1) Вытащим картинку из базы данных joomshopping
Идем в папку \plugins\search\joomshopping\joomshopping.php находим та строку примерно 91
и видим запрос:
Код
$query = "SELECT prod.product_id AS slug, pr_cat.category_id AS catslug, prod.`".$lang->get('name')."` as title, 
CONCAT(prod.`".$lang->get('short_description')."`,' ',prod.`".$lang->get('description')."`) as text,
'2' AS browsernav,
prod.product_date_added AS created,
cat.`".$lang->get('name')."` AS section
FROM `#__jshopping_products` AS prod
LEFT JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
WHERE ($where) AND prod.product_publish = '1' AND cat.category_publish='1'
GROUP BY prod.product_id
ORDER BY $order
";

В него необходимо добавить вызов картинки, заменяем выше приведенный кусок кода на следующий
(была добавлена строка prod.product_thumb_image AS myimg,):

Код
$query = "SELECT prod.product_id AS slug, pr_cat.category_id AS catslug, prod.`".$lang->get('name')."` as title, 
CONCAT(prod.`".$lang->get('short_description')."`,' ',prod.`".$lang->get('description')."`) as text,
'2' AS browsernav,
prod.product_date_added AS created,
prod.product_thumb_image AS myimg,
cat.`".$lang->get('name')."` AS section
FROM `#__jshopping_products` AS prod
LEFT JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
WHERE ($where) AND prod.product_publish = '1' AND cat.category_publish='1'
GROUP BY prod.product_id
ORDER BY $order
";

В этом файле больше никаких изменений не требуется.

2) Файл \components\com_search\views\search\tmpl\default_results.php
У меня данный файл перенесен в шаблон и имеет путь : \templates\имя_шаблона\html\com_search\search\default_resuts.php
В данном файле необходимо вставить вывод картинки, скорей всего перед текстом.

Строка 31:
Код
<?php if ($result->myimg) : 
$myimg = "<img src=/components/com_jshopping/files/img_products/$result->myimg class='s-img'/>" ;
elseif (!$result->myimg) :
$myimg = "<img src='/components/com_jshopping/files/img_products/noimage.gif' class='s-img'/>" ;
 endif; ?>
<dd class="result-text">
<?php echo $myimg; echo $result->text; ?>
</dd>

ВАЖНО! Вывод картинки не заключать ни в какие спаны, дивы и прочие блоки, работать не будет.
Кому интересно почему, может и расскажу, как-нибудь...

Первые несколько строк это проверка есть ли картинка для данного товара ,если нет, то вывести ту, что по умолчанию. Можно было бы данную проверку вставить прямо в блок result_text, но что-то оно не заработало.
на этом в принципе и все, стили и прочее каждый поправляет для себя сам. И привожу картинку с результатом:

*

dmitry_stas

  • Легенда
  • 13006
  • 1222 / 8
Кому интересно почему, может и расскажу, как-нибудь...

очень интересно. расскажите пожалуйста. а то у меня работает, а не пойму почему  ^-^
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
очень интересно. расскажите пожалуйста. а то у меня работает, а не пойму почему  ^-^

У меня это не заработало без внесения изменений в  файлик rokajaxsearch.js так как данные в этом файлике брались из блоков в default_results
*

NepaGoda

  • Захожу иногда
  • 54
  • 0 / 0
Обалдеть..
А можно ли еще как нибудь задать размер фото именно в выдаче результата поиска..
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Обалдеть..
А можно ли еще как нибудь задать размер фото именно в выдаче результата поиска..

Можно, на примере был задан класс самому фото class='s-img' и уже прописываете в стилях:
Код
.s-img{
width: 150px;
height: 100px;
}
*

antoxa7

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Спасибо, работает.
Вопрос: если отключаю показ описания (Show Description) в результатах поиска, изображения тоже пропадают. Как быть?
И еще как добавить расширенный поиск по характеристикам и отображение цены в результатах поиска?

« Последнее редактирование: 21.10.2012, 18:09:39 от antoxa7 »
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Спасибо, работает.
Вопрос: если отключаю показ описания (Show Description) в результатах поиска, изображения тоже пропадают. Как быть?
И еще как добавить расширенный поиск по характеристикам и отображение цены в результатах поиска?

Можно вынести картинки из блока текста, если это не сработает, то в файле rockajaxsearch.js надо будет дописать вывод данных из блока с картинкой, если первый вариант не сработает. напишите, я  попробую как-то объяснить что куда писать, либо файлик прикреплю с изменениями.

А насчет цены, там по такому же принципу, в запрос надо добавить и поле цены (product_price) и так же вывести в результатах поиска, делается всё по аналогии с изображениями, с атрибутами и характеристиками помочь не смогу.
*

NepaGoda

  • Захожу иногда
  • 54
  • 0 / 0
Как сделать чтобы текст обтекал картинку.. как у вас сбоку..
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Как сделать чтобы текст обтекал картинку.. как у вас сбоку..

Стилями, у меня это как-то так сделано :
Код
.s-img {
float: left;
margin: 2px 10px 10px 0;
}
*

3axap-superstar

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
Странно, а я установил RokAjaxSearch и в результатах поиска отсутствуют товары из ЖШ, чаднт?
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
плагин поиска для JoomShopping поставили и опубликовали?
*

3axap-superstar

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
*

3axap-superstar

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
Отлично, всё работает!
А можете подсказать, как и где задать класс самому фото class='s-img' ??
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Отлично, всё работает!
А можете подсказать, как и где задать класс самому фото class='s-img' ??

Полагаю что в templates/имя_шаблона/css/template.css
*

3axap-superstar

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
Вот нашел минус: при попытке найти что-то в материалах вместе с найденным вылазит NO IMAGE
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Вот нашел минус: при попытке найти что-то в материалах вместе с найденным вылазит NO IMAGE

Действительно, мне важен только поиск по товарам. вот и не обратил внимания, можете вот так:

Код
<?php if ($result->myimg) : 
$myimg = "<img src=/components/com_jshopping/files/img_products/$result->myimg class='s-img'/>" ;
elseif (!$result->myimg) :
$myimg = "" ;
 endif; ?>

Но тогда если нет картинки и в товаре, то ничего не выведется.
*

3axap-superstar

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
Не могу понять, откуда берётся <br> между названием товара и картинкой?  :'(
А так же после дескрипшн и перед "Читать далее"
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Не могу понять, откуда берётся <br> между названием товара и картинкой?  :'(
А так же после description и перед "Читать далее"
В файле \modules\mod_rokajaxsearch\js\rokajaxsearch.js ищите br, правда если просто удалить, то поиск прекращает работать, попробуйте заменить на другой элемент.
*

3axap-superstar

  • Осваиваюсь на форуме
  • 41
  • 0 / 1
Спасибо, вставил р и получилось компактнее)))
*

denjer

  • Осваиваюсь на форуме
  • 43
  • 0 / 0
Можно вынести картинки из блока текста, если это не сработает, то в файле rockajaxsearch.js надо будет дописать вывод данных из блока с картинкой, если первый вариант не сработает. напишите, я  попробую как-то объяснить что куда писать, либо файлик прикреплю с изменениями.

А насчет цены, там по такому же принципу, в запрос надо добавить и поле цены (product_price) и так же вывести в результатах поиска, делается всё по аналогии с изображениями, с атрибутами и характеристиками помочь не смогу.

Уважаемый, MrJenika, так как все таки вывести картинку без описания, если убирать вывод описания - картинка тоже пропадает. Первый вариант не помог, что нужно прописать в файлике rockajaxsearch.js?
И насчет вывода цены тоже не помешало бы инструкция. Заранее огромное спасибо!
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Уважаемый, MrJenika, так как все таки вывести картинку без описания, если убирать вывод описания - картинка тоже пропадает. Первый вариант не помог, что нужно прописать в файлике rockajaxsearch.js?
И насчет вывода цены тоже не помешало бы инструкция. Заранее огромное спасибо!


Ну если вам надо ТОЛЬКО картинки, совсем без описания (даже через поиск с помощью стандартной формы), то можно просто в файлике  \components\com_search\views\search\tmpl\default_results.php убрать вывод $result->text
Если же убрать описание только в rockajaxsearch, то это малость сложнее будет. Как будет время, погляжу что там и как, но пока могу посоветовать через стили спрятать текст, там вроде как-то так:

Код
.roksearch_result_wrapper5 span{
text-indent: -9999px;
}

Если  исчезает и название товара, надо будет добавить вроде такое:

Код
.roksearch_result_wrapper5 a{
text-indent: 0;
}

С ценой можно сделать по тому же принципу что и с картинками.
*

Emotion

  • Захожу иногда
  • 101
  • 0 / 0
Здравствуйте! А для версии JoomShopping 2.7 не могли бы подсказать что именно прописать в файле шаблона вывода картинки.
Запрос к базе подправил так как есть а вот где именно прописать вывод картинки? прописал в  com_search но что то оно не подхватывает.
Помнится что шла речь о каких то правках в файле rokajaxsearch.js ?
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
в файлик rokajaxsearch.js лучше не лезть, там сам черт ногу сломит. Посмотрите из какого id или класса берется текст в результатах AJAX поиска и в этот же блок вставить вывод картинки. сперва без классов или сторонних блоков и проверить выводится ли код картинки в простом поиске и тогда уже можно искать что-то в AJAX поиске.
Выше писали, что правка не обязательна, всё и так должно работать.
*

Feroxprox

  • Новичок
  • 24
  • 0 / 0
У меня это не заработало без внесения изменений в  файлик rokajaxsearch.js так как данные в этом файлике брались из блоков в default_results
MrJenika, а что конкретно было внесено в файлик rokajaxsearch.js, потому как у меня также не отображаются картинки, хотя сделал все четко как написано в теме.
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
Честно говоря, уже   точно и не помню, попытаюсь восстановить события по закоментированному коду.
Итак файлик rokajaxsearch.js
Он ужат, пришлось поиграться чтобы понять что где, поэтому точно строку сказать не могу.
Ниже привожу часть кода, то что закоментированно, это уже рабочие изменения, то что до комментариев и после. это ориентир чтобы найти строку
Код
var J=new Element("span").set("html",P).inject(K,"after"),Q;

/******* MY ***********//*
var DD=M.getNext(".s-img");
TT=DD.innerHTML;
 var jj=new Element("span",{"class":"s-img"}).set("html",TT).inject(K,"after"),Q;
/**********************/

if(this.options.showcategory){var L=M.getNext(".result-category")||H[1];

Поясню что это означает.
var DD=M.getNext(".s-img"); - это получение данных из блока s-img
s-img - блок в файлике \components\com_search\views\search\tmpl\default_results.php в котором я вывел картинку,
как то примерно так, за точность не ручаюсь :

Код
<dic class="s-img"> <img src="/components/com_jshopping/files/img_products/$result->myimg"></div>

var jj=new Element("span",{"class":"s-img"}).set("html",TT).inject(K,"after"),Q; - вставляет новый span с тем, что вытащили из блока s-img

Вроде все, остальное описано в первом посте.
Не забудьте расскоментировать код.
Эти все действия производились для Joomla 2.5
*

Feroxprox

  • Новичок
  • 24
  • 0 / 0
MrJenika, сделал все как написано в посте, картинки так не появились. Но в консоле фаербага вылазит следующая ошибка:
NetworkError: 404 Not Found - ..../components/com_jshopping/files/img_products/.... . Причем путь к картинке правильный и сами картинки есть, однако он пишет что их нет.  :'(
*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
MrJenika, сделал все как написано в посте, картинки так не появились. Но в консоле фаербага вылазит следующая ошибка:
NetworkError: 404 Not Found - ..../components/com_jshopping/files/img_products/.... . Причем путь к картинке правильный и сами картинки есть, однако он пишет что их нет.  :'(

Возможно стоит в начале пути вставить домен сайта, хотя тоже не рекомендую, ну или пару точек перед слешем ../
*

Feroxprox

  • Новичок
  • 24
  • 0 / 0
Вообщем, действительно была проблема с неправильным src картинки, проблемка решилась добавлением в начале путь  $this->baseurl.  MrJenika, спасибо  *DRINK*.
*

NepaGoda

  • Захожу иногда
  • 54
  • 0 / 0
Может кто напишет полный код страницы.. где отображаются все результаты поиска..
Настраиваю страницу как нужно.. и поиск перестает работать..

Ситуация сейчас такая:


*

MrJenika

  • Осваиваюсь на форуме
  • 49
  • 12 / 0
ошибка в вёрстке, примените свойство clear:both для блока в котором содержится заголовок, картинка и текст результата.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JS Product Snapshot - плагин вывода товаров JoomShopping в контенте Joomla

Автор Arkadiy

Ответов: 108
Просмотров: 24805
Последний ответ 10.06.2019, 09:48:02
от Eugene omsk
Плагин: Задать вопрос о товаре для JoomShopping (ajax)

Автор stabilcomp

Ответов: 78
Просмотров: 12266
Последний ответ 23.11.2018, 18:14:26
от intcorp
Порядок вывода товаров в модуле Joomshopping Label Products

Автор shop-user

Ответов: 5
Просмотров: 553
Последний ответ 14.11.2018, 12:26:27
от NewUsers
Порядок товаров в модуле label products

Автор shop-user

Ответов: 4
Просмотров: 309
Последний ответ 12.06.2018, 22:03:27
от shop-user
Модуль вывода списка категорий JoomShopping

Автор Taatshi

Ответов: 7
Просмотров: 4435
Последний ответ 09.05.2018, 17:18:27
от tigra-uki