Форум русской поддержки Joomla!® CMS
17.08.2017, 15:46:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Поиск по характеристикам для JoomShopping

 (Прочитано 464 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« : 27.01.2017, 19:38:42 »

Нужно сделать поиск по наименованию, производителю и двум характеристикам. Поля - выпадающие списки.

Это то что должно получиться в итоге, естественно, скорее всего модуль нужно будет допилить под свои нужды. Для начала пытаюсь найти хоть какой-нибудь поиск по характеристикам.
Нашёл пару модулей фильтров по характеристикам, но они выводятся и работают только на страницах категорий.
На странице списка категорий например они просто не отображаются.
Записан
nevigen
Moderator
*****

Репутация: +771/-17
Offline Offline

Пол: Мужской
Сообщений: 9339


http://n*****n.com


« Ответ #1 : 27.01.2017, 19:46:07 »

не понятно что вам надо в итоге.
поиск или фильтр ?
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #2 : 27.01.2017, 20:51:14 »

не понятно что вам надо в итоге.
поиск или фильтр ?


Поиск нужен. В сторону фильтров смотрел в надежде что может там что-то удастся приспособить для поиска.
Записан
nevigen
Moderator
*****

Репутация: +771/-17
Offline Offline

Пол: Мужской
Сообщений: 9339


http://n*****n.com


« Ответ #3 : 27.01.2017, 21:09:13 »

поиск по названию и производителю еще возможен.
насчет характеристик совсем не уверен.
поищите на форуме "поиск joomshopping"
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #4 : 27.01.2017, 21:14:40 »

стандартный поиск ЖШ когда выбрана категория показывает характеристики. посмотрите там
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #5 : 28.01.2017, 00:15:04 »

поиск по названию и производителю еще возможен.
насчет характеристик совсем не уверен.
Если есть связь в БД между товарами и характеристиками(типа многие ко многим, надо полагать), значит в принципе возможно искать товары по характеристикам.



стандартный поиск ЖШ когда выбрана категория показывает характеристики. посмотрите там
Стандартный - это который в modules/mod_jshopping_search? Его кстати изначально не было, я его устанавливал.

У меня его расширенный поиск при выбранной категории выглядит так:



Характеристики не показываются хотя они есть и добавлены к нескольким товарам.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #6 : 28.01.2017, 00:25:03 »

А, вот нашёл шаблон формы расширенного поиска components/com_jshopping/templates/default/search/form.php

Там есть такая строка
Код:
<div id="list_characteristics"><?php print $this->characteristics?></div>

var_dump($this->characteristics) показывает string(0) ""
Очень странно, характеристики ведь есть.
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #7 : 28.01.2017, 00:26:43 »

когда выбрана категория показывает характеристики
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #8 : 28.01.2017, 00:39:57 »

Так я выбрал категорию. Я выложил скриншот с выбранной категорией выше. Или имеется в виду, что нужно зайти в категорию?

Да и если зайти в категорию - ничего не меняется(вывел этот модуль на странице категории).
« Последнее редактирование: 28.01.2017, 00:45:58 от eugenex » Записан
kit2m2
Живу я здесь
******

Репутация: +103/-0
Offline Offline

Пол: Мужской
Сообщений: 1169



« Ответ #9 : 28.01.2017, 09:45:59 »

Выбрать характеристики для поиска в Настройках -> Товар -> Показать характеристики (Поиск)
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #10 : 28.01.2017, 12:06:51 »

Или имеется в виду, что нужно зайти в категорию?
нет, все правильно, просто выбрать категорию, как на скриншоте. не обратил внимания на скриншот прост, думал он к модулю относится. тогда да, наверное характеристики не выбраны в настройках для поиска.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #11 : 28.01.2017, 13:47:48 »

Да, выбрал характеристики в Настройках -> Товар -> Показать характеристики (Поиск) и характеристики в поиске появились. При чём у меня они показываются и без выбора категории, что хорошо.
Вот это уже можно привести к тому виду, который мне нужен.
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #12 : 28.01.2017, 14:27:47 »

странно, раньше вроде было что только при выбранной категории показываются, те, которые назначены этой категории. наверное в последних версиях поменяли этот момент. а может и путаю, может так и было изначально...
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #13 : 28.01.2017, 18:23:07 »

Возник ещё один вопрос. Поля характеристик и производителя сейчас выводятся в расширенном поиске, который открывается по ссылке "Расширенный поиск" на новой странице(с добавлением search/ к текущему урлу).

Мне нужно вывести эти поля в шаблоне модуля, то есть в /modules/mod_jshopping_search/tmpl/defaul.php

В шаблоне расширенного поиска /components/com_jshopping/templates/default/search/form.php поля берутся из $this, где $this это инстанс класса JshoppingViewSearch.  Как мне получить этот объект JshoppingViewSearch в модуле?


Или каким-то другим способом вывести поля расширенного поиска в форме стандартного поиска.

 
« Последнее редактирование: 28.01.2017, 18:26:14 от eugenex » Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #14 : 28.01.2017, 18:39:58 »

это можно сделать, но у вас разве модуль будет выводится только на странице поиска (controller==search)? если нет - то какой смысл получать инстанс view, если это вью кроме как в контроллере поиска нигде больше не будет проинициализировано?
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #15 : 28.01.2017, 18:52:05 »

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

Я не знаю, может через file_get_contents можно как-то вывести только форму расширенного поиска(не страницу целиком)?    
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #16 : 28.01.2017, 19:04:31 »

это какой то неправильный подход Azn почему бы просто в модуле не сделать тоже самое, что в контроллере search - получить list_categories и так далее ?
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #17 : 28.01.2017, 19:47:58 »

почему бы просто в модуле не сделать тоже самое, что в контроллере search - получить list_categories и так далее ?

Да, в принципе получается таким образом вывести поля и они участвуют в поиске.
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #18 : 28.01.2017, 20:37:11 »

ну а чего бы им не участвовать? главное чтоб action формы был на контроллер search, а там дальше дело техники

и все таки при выборе категории там есть отбор характеристик. посмотрите, там AJAX запрос делается, и возвращаются только те характеристики, которые есть в этой категории. вам нужно точно также сделать. хотя это и не обязательно, просто удобнее юзеру я так думаю будет.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #19 : 28.01.2017, 21:23:49 »

Для категорий я наверное так сделаю, сейчас я пробую на странице списка категорий.
Не нравится то, что в массивах опций характеристик, возвращаемых JSFactory::getAllProductExtraFieldValueDetail() какие-то странные индексы.
Первую опцию первой характеристики например я нахожу в $characteristic_fieldvalues[1][3], причем на бое она уже в $characteristic_fieldvalues[1][1].
А хотелось бы чтобы была в обоих случаях в $characteristic_fieldvalues[1][0]
Это видимо связано с тем, что я создавал опцию, потом удалял и создавал заново.

Не хотелось бы для каждой добавленной опции писать специальный код или делать что-то вроде "проходим начиная с нулевого индекса и первый индекс где нашелся не null считаем нулевым". 
Записан
dmitry_stas
Профи
********

Репутация: +935/-6
Offline Offline

Сообщений: 9960



« Ответ #20 : 28.01.2017, 21:48:57 »

так это id. они априори 0 не могут быть.
Записан
eugenex
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 56


« Ответ #21 : 28.01.2017, 22:07:00 »

так это id. они априори 0 не могут быть.
А, ну да.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet