gpt4 book ai didi

magento - getStoreCategories() 不返回任何内容

转载 作者:行者123 更新时间:2023-12-02 14:40:41 26 4
gpt4 key购买 nike

我目前正在学习 Magento,似乎遇到了很多处于我职位的人都熟悉的问题,但给出的解决方案都不适合我。我希望用根类别中找到的所有类别填充导航菜单,但我必须执行此操作的代码段不起作用。以下是执行此类任务的代码摘录:

<div id="utilities">
<?php $_menu = ''?>
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>
<?php if ($_menu): ?>
<div class="nav-container">

<ul id="nav">

<?php $_anyActive = false; foreach ($this->getStoreCategories() as $_category) { $_anyActive = $_anyActive || $this->isCategoryActive($_category); } ?>
<li class="home <?php echo !$_anyActive ? 'active' : '' ?>"><a href="<?php echo $this->getUrl('')?>"><span><?php echo $this->__('Home') ?></span></a></li>

<?php echo $_menu; ?>
</ul>

</div>
<?php endif; ?>
</div>

现在,我已经对此进行了广泛的故障排除,并首先在 $this-?getStoreCategories() 上执行 var_dump(),但这返回了 NULL。我知道该语句没有比该方法更进一步,因此可以得出结论,错误在于这行代码:

<?php foreach ($this->getStoreCategories() as $_category): ?>

我尝试创建新的根类别并用子类别(也填充产品)填充这些类别,然后将管理设置中的根类别更改为新创建的根类别,但仍然无济于事。我知道这段代码被拉入页面,就像我在打印到屏幕上的违规语句之前键入静态文本一样。

至少可以说我很惊讶。任何帮助将不胜感激,并提前非常感谢您!

最佳答案

您的问题是您使用的 block 没有 getStoreCategories() 方法。 $this - 是对您手动创建的 block 的引用。

Magento 具有高度抽象性,因此这里的每个问题都可以通过不同的方式解决。

用途:

Mage::helper('catalog/category')->getStoreCategories()

而不是:

$this->getStoreCategories()

当它起作用时 - 更好地在您的 block 中创建 getStoreCategories() 并将此代码移至其中 - 正如 Magento 架构所设想的那样。

关于magento - getStoreCategories() 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com