これが私のために働いた解決策です:
問題は、Simple Configurable Products (OrganicInternet) で使用されるコードにあります。
上記の 2 つの別々の問題が同時に発生していたことに注意したいと思います。また、製品価格インデックスのインデックス作成が拒否されました ( SQLSTATE[21S01]: Insertとして説明された、次のメッセージを受け取っていました: Cannot intialize the indexer process )。値リストが列リストと一致しません: 1136 列数が行 1 の値数と一致しません)
両方の問題が関連していることが判明したため、以下で両方を解決しました;)
- ファイル内 / app / code / community / OrganicInternet / SimpleConfigurableProducts / Catalog / Model / Resource / Eav / Mysql4 / Product / Indexer / Price / Configurable.php
変化する:
$select->columns(array(
'entity_id' => new Zend_Db_Expr('e.entity_id'),
'customer_group_id' => new Zend_Db_Expr('pi.customer_group_id'),
'website_id' => new Zend_Db_Expr('cw.website_id'),
'tax_class_id' => new Zend_Db_Expr('pi.tax_class_id'),
'orig_price' => new Zend_Db_Expr('pi.price'),
'price' => new Zend_Db_Expr('pi.final_price'),
'min_price' => new Zend_Db_Expr('pi.final_price'),
'max_price' => new Zend_Db_Expr('pi.final_price'),
'tier_price' => new Zend_Db_Expr('pi.tier_price'),
'base_tier' => new Zend_Db_Expr('pi.tier_price'),
));
に:
$select->columns(array(
'entity_id' => new Zend_Db_Expr('e.entity_id'),
'customer_group_id' => new Zend_Db_Expr('pi.customer_group_id'),
'website_id' => new Zend_Db_Expr('cw.website_id'),
'tax_class_id' => new Zend_Db_Expr('pi.tax_class_id'),
'orig_price' => new Zend_Db_Expr('pi.price'),
'price' => new Zend_Db_Expr('pi.final_price'),
'min_price' => new Zend_Db_Expr('pi.final_price'),
'max_price' => new Zend_Db_Expr('pi.final_price'),
'tier_price' => new Zend_Db_Expr('pi.tier_price'),
'base_tier' => new Zend_Db_Expr('pi.tier_price'),
'group_price' => new Zend_Db_Expr('pi.group_price'),
'base_group_price' => new Zend_Db_Expr('pi.group_price'),
));
と
$outerSelect->columns(array(
'customer_group_id',
'website_id',
'tax_class_id',
'orig_price',
'price',
'min_price',
'max_price' => new Zend_Db_Expr('MAX(inner.max_price)'),
'tier_price',
'base_tier',
#'child_entity_id'
));
に
$outerSelect->columns(array(
'customer_group_id',
'website_id',
'tax_class_id',
'orig_price',
'price',
'min_price',
'max_price' => new Zend_Db_Expr('MAX(inner.max_price)'),
'tier_price',
'base_tier',
'group_price',
'base_group_price',
#'child_entity_id'
));
出典:これに伴う主な問題(ただし、正しいコードは'base_group_price' => new Zend_Db_Expr('pi.group_price') であり、'base_group_price' => new Zend_Db_Expr('pi. base_ group_price') ではないことに注意してください。
- また、ファイル内: / app / code / community / OrganicInternet / SimpleConfigurableProducts / Catalog / Model / Resource / Eav / Mysql4 / Product / Indexer / Price.php
変化する
$this->cloneIndexTable(true);
に
$this->clearTemporaryIndexTable();
出典:こちら
これを理解するのに数時間かかったので、他の人が時間を無駄にしないようにこの投稿を書きました.
頑張ってください!