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