0

3 つの jQuery タブがあり、各タブにさまざまなカテゴリの製品を入力したいと考えています。タブはカテゴリ ページに表示されます。カテゴリページ「カスタムレイアウトの更新」には、次のものがあります。

<block type="catalog/product_list" category_id="38" limit="6" name="tabs_new" template="catalog/product/tab_list.phtml" />
<block type="catalog/product_list" category_id="39" limit="6" name="tabs_topsellers" template="catalog/product/tab_list.phtml" />
<block type="catalog/product_list" category_id="40" limit="6" name="tabs_sale" template="catalog/product/tab_list.phtml" />

tab_list.phtml は、list.phtml の単なるコピーであり、ツールバーが取り除かれ、マークアップがいくつか変更されています。

私のカテゴリ view.phtml ファイルには、次のものがあります。

<div id="tabs-1">
    <?php echo $this->getChildHtml('tabs_topsellers') ?>
</div>
<div id="tabs-2">
    <?php echo $this->getChildHtml('tabs_new') ?>
</div>
<div id="tabs-3">
    <?php echo $this->getChildHtml('tabs_sale') ?>
</div>

しかし、ページに移動すると、次のエラーが表示されます。

Mage registry key "isList" already exists

どうすればこれを行うことができますか?

4

3 に答える 3

1

Mage::unregister('isList');迅速な修正のために、各ブロックをエコーする前に使用できます

于 2013-01-24T11:25:29.133 に答える
0

2つの解決策:

  • 値を登録する前に、値がすでに存在するかどうかを確認してください:

    if(!Mage :: registerry('isList')){Mage :: register('isList'); }

  • 既存の変数の登録を無視するには、関数の3番目のパラメーター " $graceful"を使用しMage::register()ます(例外をスローせず、何もしません)

于 2013-01-24T11:48:05.813 に答える