1

カスタム モジュールのマルチ ストア互換性を作成したいと考えています。構成スコープに従って、カスタム データベース テーブルから値を取得したいと考えています。データベース テーブルに値を追加するときに、Magento が core_config_data テーブルで行うように、scope_id とスコープを指定しました。フロントエンドで選択したWebサイトに従って、テーブルから挿入された値を取得するにはどうすればよいですか。

次のデータベース値のスニペットがあります。

ID 値 scope_id スコープ

1 テスト 0 デフォルト
2 テスト 1 4 ストア
3 テスト 12 5 ウェブサイト

誰でもこれで私を助けることができますか?ありがとう

4

1 に答える 1

2

自分のニーズに合わせて Magento の構成の読み込みを再利用するのは簡単ではありません。

あなたが望むのは、デフォルトから値を継承することです - >ウェブサイト - >ストア(そこに上書きされていない場合)。

Magento は、データベース構成を内部 XML 表現に変換しMage_Core_Model_Resource_Config::loadToXml、そこでマージおよび継承ロジックを実行します。

継承ロジックはすべてloadToXml()関数内にあるため、同じアプローチを取り、ストア スコープごとに値を作成する場合は、同様のものを実装できます。

特定のスコープの値を 1 つだけ取得する必要がある場合は、そのストアでデータベース行を読み取る必要があります。ストアが存在する Web サイトで見つからない場合は、デフォルト値が見つからない場合です。

于 2013-03-18T13:07:36.457 に答える