Переиндексировать один продукт [дубликат]


В моем магазине magento около 30000 товаров.

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

Поэтому в принципе я хотел бы иметь php-скрипт или любой метод, который переиндексирует все индексы конкретного отдельного продукта.

Существует ли какой-либо определенный сценарий/метод для достижения?? пожалуйста, помогите.

Author: Manthan Dave, 2017-03-27

2 answers

@Guruprasad согласно ответу @Vinai

Вы можете просто передать объект продукта и обработать выбранное событие для одного продукта

$product = Mage::getModel('catalog/product')->load('1'); // Product Id

$event = Mage::getSingleton('index/indexer')->logEvent(
        $product,
        $product->getResource()->getType(),
        Mage_Index_Model_Event::TYPE_SAVE,
        false
    );
    Mage::getSingleton('index/indexer')
        ->getProcessByCode('catalog_url') // Adjust the indexer process code as needed
        ->setMode(Mage_Index_Model_Process::MODE_REAL_TIME)
        ->processEvent($event);
 1
Author: Priyank, 2017-06-15 12:32:49

Войдите в панель администратора

Перейдите к System->Index Management

Нажмите на Select all

Щелкните раскрывающийся список Actions и установите Change Index Mode

Появится другой раскрывающийся список и установите Update on Save в другом раскрывающемся списке.

И нажмите на кнопку отправить.

 1
Author: Murtuza Zabuawala, 2017-03-27 05:03:16