Эти модели работают только для поиска.
Путь до них (как и другие) я указал чтобы вы могли сделать свой поиск, если это понадобиться...
Сохранением занимается только сам Zoo.
После удачного сохранения вызывается событие item:saved
К этому событию прицеплено действие, которое вызовет "JBModelSearchindex -> updateByItemId($item);"
Выберутся данные из таблицы _zoo_search_index
Данные обрабатываются и заносятся в отдельную таблицу jbzoo index
Собственно процесс переиндексации это ни что иное как переработка индекса Zoo в что-то более подходящее для поиска.
Фильтр нестандартных элементов
Автор
svizina
, Aug 11 2012 16:49
Сообщений в теме: 14
#11
Отправлено 13 August 2012 - 17:57
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#12
Отправлено 13 August 2012 - 17:59
Как происходит сохранение подробно можно увидеть тут
administrator\components\com_zoo\tables\item.php ( public function save($object) ) - Это не относится к JBZoo
Ваши данные должны попасть в массив "search_data".
administrator\components\com_zoo\tables\item.php ( public function save($object) ) - Это не относится к JBZoo
Ваши данные должны попасть в массив "search_data".
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#13
Отправлено 13 August 2012 - 18:32
спасибо за развернутый ответ - переделал getSearchData вижу уже в массиве "search_data" index от категории бренда - это уже полдела
#14
Отправлено 13 August 2012 - 18:40
еще
у меня 14 тыщ итемов товара (ручками это убийство) - посоветуйте как пересохранить (функция) все материалы автоматом чтоб заполнилась таб. jos_zoo_jbzoo_index ...Соответственно после того как он появится, нужно пересохранить все материалы, чтобы данные попали в таблицы поискового индекса.
#15
Отправлено 13 August 2012 - 18:50
На свой страх и риск попробуйте запустить следующий скрипт. Например из шаблона Zoo
По идее должно сработать. Реализовать не сложно, но есть минусы.
В вашем случае займет довольно много времени и памяти. Поэтому предварительно настройте PHP чтобы он не свалился в самом интересном месте...
Думаю памяти 500мб хватит и убрать ограничение по времени. Как это сделать подскажет гугл.
Не забывайте бекапиться. Удачи! =)
PS Кусок кода не проверял, написал по памяти. Просто нет сайта под рукой... =)
<?php $zoo = App::getInstance('zoo'); $allItems = $zoo->table->item->findAll(<ID ВАШЕГО КАТАЛОГА>); foreach($allItems as $item) { $zoo->table->item->save($item); } die('Mission complete!'); ?>
По идее должно сработать. Реализовать не сложно, но есть минусы.
В вашем случае займет довольно много времени и памяти. Поэтому предварительно настройте PHP чтобы он не свалился в самом интересном месте...
Думаю памяти 500мб хватит и убрать ограничение по времени. Как это сделать подскажет гугл.
Не забывайте бекапиться. Удачи! =)
PS Кусок кода не проверял, написал по памяти. Просто нет сайта под рукой... =)
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.