設定変数を取得してセッション用に変更する必要があります 私はこのObserverを持っており、setNode経由で変数を変更することができました。次の行でgetNode()を使ってその値を確認すると、値が正しく変更されています。 しかし、後で他のビューで私はMage :: getStoreConfig( 'oi_options/messages/active')をチェックし、再び0を持つようです。ご覧のとおり、cleanCache()とreinit()を配置します。私は彼らの両方とそれぞれを個別に試しました。 さらに、いくつかのブロックを表示するかどうかを判断するために、この変数もチェックするためにxmlレイアウトでいくつかのifconfigステートメントを使用しますが、どちらも機能しません。 提案がありますか?セッション中に設定変数を変更する方法
class Oi_Vendedor_Model_Observer {
const RETAILER = 3;
public function checkVendedor(Varien_Event_Observer $observer) {
$customerGroup = Mage::getSingleton('customer/session')->getCustomerGroupId();
if(($customerGroup == self::RETAILER) && (Mage::getStoreConfig('oi_options/messages/active') == 0))
{
Mage::getConfig()->setNode('default/oi_options/messages/active',1);
Mage::getConfig()->cleanCache();
Mage::getConfig()->reinit();
}
return $this;
}
}
この@Ben事前
何らかの状態の永続化を試みているようです。これはMagentoフレームワークでこれを行う方法ではありません。達成したいことをコメント/編集できますか? – benmarks
レイアウトがロードされる前にオブザーバが呼び出されていますか? – Zyava