Перейти к содержимому


Фотография
- - - - -

Автоматическая переиндексация базы данных для фильтра


Лучший Ответ SmetDenis , 25 April 2014 - 14:45

Сделать индексацию без использования фреймворка не получится, т.к нужны функции Zoo/JBZoo.

Желательно все изменения материалов делать через API
Для этого выбирать и изменять объект $item

$item = $this->app->table->item->get('ID');

// изменяем материал $item

// сохраняем изменения
$this->app->table->item->save($item);
Сохранение вызывает через тригер
JBModelSku::model()->updateItemSku($item); // for __zoo_jbzoo_sku
JBModelSearchindex::model()->updateByItem($item); // __zoo_jbzoo_index 
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 2

#1 pandaz

pandaz

Отправлено 24 April 2014 - 10:26

Здравствуйте.

У меня каталог сортируется по текстовому полю с числами. Что-то типа рейтинга.

Каждую ночь отрабатывает скрипт, который наполняет это поле другими значениями. (Читает из базы айтемы, считает рейтинг, записывает в базу)

 

После этого приходится утром вручную переиндексировать базу, для того, чтоб сортировка работала корректно.

Подскажите пожалуйста, можно ли автоматически "дергать" переиндексацию базы для фильтра?

Если да - то как?

 

Скрипт сторонний, не из Joomla. Соответственно и запускать переиндексацию желательно не подключая фреймворк.


  • 0

#2 SmetDenis

SmetDenis

Отправлено 25 April 2014 - 14:45   Лучший Ответ

Сделать индексацию без использования фреймворка не получится, т.к нужны функции Zoo/JBZoo.

Желательно все изменения материалов делать через API
Для этого выбирать и изменять объект $item
$item = $this->app->table->item->get('ID');

// изменяем материал $item

// сохраняем изменения
$this->app->table->item->save($item);
Сохранение вызывает через тригер
JBModelSku::model()->updateItemSku($item); // for __zoo_jbzoo_sku
JBModelSearchindex::model()->updateByItem($item); // __zoo_jbzoo_index 

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 pandaz

pandaz

Отправлено 25 April 2014 - 15:47

Сделать индексацию без использования фреймворка не получится, т.к нужны функции Zoo/JBZoo.

Желательно все изменения материалов делать через API
Для этого выбирать и изменять объект $item

$item = $this->app->table->item->get('ID');

// изменяем материал $item

// сохраняем изменения
$this->app->table->item->save($item);
Сохранение вызывает через тригер
JBModelSku::model()->updateItemSku($item); // for __zoo_jbzoo_sku
JBModelSearchindex::model()->updateByItem($item); // __zoo_jbzoo_index 

Спасибо!

Денис, не ожидал такого хорошего качества техподдержки. Обязательно буду продлевать подписку  ;)


  • 0




Click to return to top of page in style!