Magentoにストアビューの商品属性値をデフォルト値と同じに設定しようとしています。Magentoで店舗レベルの属性を設定する
私はそれをテストするためにループを通る
echo 'Here'; die();
を行ったように私のコードとループが呼び出されている知っている
catalog_product_save_before
public function translateProduct($observer)
{
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product = Mage::getModel('catalog/product')->load($observer->getEvent()->getProduct()->getId());
foreach (Mage::app()->getWebsites() as $website) {
foreach ($website->getGroups() as $group) {
foreach ($group->getStores() as $store) {
$config = $store->getConfig('myconfig');
if($config['enabled']) {
foreach($product->getAttributes() as $attribute) {
if($attribute->getBackendType() == 'text' && $attribute->getFrontend()->getValue($product) != '') {
$product->setStoreId($store->getId())->setData($attribute->getAttributeCode(), $attribute->getFrontend()->getValue($product));
}
}
}
}
}
}
return $this;
}
に観察者によって呼び出され、次のコードを持っています。
これはMagento製品のデータを複数の店舗ビューに設定する正しい方法ですか、どこか間違っていますか?任意のヘルプ/ヒント/ポインタを事前に
おかげ
だがによって何とかとしましょうデフォルトレベルの製品の 'name'値はStoreレベルの値と異なります。ここで、ストアレベルの 'name'値をデフォルトレベルの値と同じにしたい場合、何をする必要がありますか? –
管理者から編集するだけですか?最初の列はデフォルトで、追加の列はストアビュー用です。拡張子やコードの必要はありませんが、あなたがしようとしていることはネイティブです... –
@Ben&@sonassi - 違反はしませんが、実際には 'name'の値がストアレベルで'コードを使用して、デフォルトレベルで「名前」を指定します。これは、これらすべてがAPIを使用して動作するためです。 **私はまだストアレベルの 'name'値がデフォルトの' name'値と異なる場合にのみ、この問題の適切な解決策を見つけることができませんでした。大変申し訳ありませんが、どうかお願いしてください!** –