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::registry('isList')) { Mage::register('isList'); }

  • 使用函数的第三个参数“ $gracefulMage::register()来忽略现有变量的注册(它不会抛出异常并且什么都不做)

于 2013-01-24T11:48:05.813 回答
0

太棒了,我对 Ultimo 主题也有类似的问题。

exception 'Mage_Core_Exception' with message 'Mage registry key "isList" already exists' in /home/devlovethe/public_html/app/Mage.php:595

我试图将 product_list_featured 用于多个类别。

{{block type="ultimo/product_list_featured" template="catalog/product/list_featured_slider.phtml" category_id="97" product_count="12" breakpoints="[0, 1], [320, 2], [480, 3], [768, 4], [960, 5], [1280, 6]" pagination="1" centered="1" hide_button="1" block_name="Our Featured Products"}}

在 list_featured_slider.phtml 的末尾我添加了

<?php Mage::unregister('isList'); ?>
于 2015-07-19T21:45:19.177 回答