Как обновить кэш цен на уровне magento после вставки SQL - PullRequest
1 голос
/ 28 июля 2010

Я импортировал цены нового уровня в базу данных magento, используя sql, показанный ниже, и когда я просматриваю продукт в админке, уровни корректны.Однако в интерфейсе уровни не отображаются в разделе «Я сохраняю продукт в фоновом режиме».

Я удалил var / cache, перестроил индекс каталога, обновил состояние инвентарного запаса (?) И даже попытался выполнить массовое обновление атрибутов для этих продуктов, ни один из которых, похоже, не обновляет кэш цен.Я не могу найти значения в таблицах сущностей продукта, которые относятся к ценообразованию уровня для настройки.

Я вижу, что в Mage_CatalogIndex есть Price объект, который заставляет меня думать, что он нуждается в обновлении ...

Я использую Magento v1.3.2.4 и у меня есть пара сотен SKU, которые я не хочу вручную сохранять в серверной части!

insert ignore into `catalog_product_entity_tier_price` (all_groups, customer_group_id, qty, entity_id, `value`) select '0','5','12',entity_id,'10' from `catalog_product_entity` where category_ids = 3;

Все предложенияДобро пожаловать.

Спасибо, JD

1 Ответ

1 голос
/ 25 марта 2011

Интересно, поможет ли что-то подобное?

$productsForCatalogIndexUpdate = array(123,1231); //Add your product ids here
if (count($productsForCatalogIndexUpdate)) {
  Mage::log("About to update the catalog price index on the following products " . join(', ', $productsForCatalogIndexUpdate));
  Mage::getModel('catalogindex/indexer')->plainReindex(
    $productsForCatalogIndexUpdate,
    Mage_CatalogIndex_Model_Indexer::REINDEX_TYPE_PRICE
  );
  Mage::getModel("catalogindex/observer")->clearPriceAggregation();
}

Если я правильно помню, он перестраивает таблицы индексов цен для указанных цен.

...