0

我有一个关于Mage::registry并且categories:我在类别页面上的问题,我通过 检索当前类别Mage::registry('current_category')。我注意到它仅适用于根类别,事实上,如果我访问子类别页面,我总是使用Mage::registry('current_category'). 所以问题是:是关于后端配置、缓存还是其他什么?

4

3 回答 3

7

如果您在模板中(例如catalog/category/view.phtml),您可以使用

$this->getCurrentCategory();

如果你在模型、控制器或其他中,试试这个(在这里找到):

Mage::getModel('catalog/layer')->getCurrentCategory();

但是,Mage::registry('current_category')这是正常的方法。

于 2012-04-23T15:07:20.273 回答
4

OOB,current_categoryMage_Catalog CategoryController::_initCategory()(参考此处)中设置,并且始终与当前正在查看的类别相同。

如果您的数据不同,则您的应用程序具有非标准功能,或者您看到的是缓存结果。

于 2012-04-23T15:16:04.893 回答
1

对于所有类别:-

<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>

当前类别

<?php $currentCategory = Mage::registry('current_category') ?>

为我工作。

于 2013-09-23T10:17:32.277 回答