我有一个问题关于Mage::registry
和categories:
我是一个类别页面上,我检索由当前类别Mage::registry('current_category')
我注意到,它仅适用于根类别,其实如果我访问一个子类别页面检索我总是根类别与Mage::registry('current_category')
所以,问题是:一些是关于后端配置,缓存还是其他什么东西?
Answer 1:
OOB, current_category
在设置Mage_Catalog
CategoryController::_initCategory()
参见这里 ),而且将永远是等于当前正在观看的类别。
如果你的数据是不同的,那么你的应用程序采用了非标准的功能,或者你看到缓存的结果。
Answer 2:
如果你是在一个模板(如catalog/category/view.phtml
),你可以得到当前的类别与
$this->getCurrentCategory();
如果你是一个模型,控制器要不,试试这个(发现这里 ):
Mage::getModel('catalog/layer')->getCurrentCategory();
但是, Mage::registry('current_category')
是正常的路要走。
Answer 3:
所有类别: -
<?php $_helper = Mage::helper('catalog/category') ?>
<?php $_categories = $_helper->getStoreCategories() ?>
当前类别
<?php $currentCategory = Mage::registry('current_category') ?>
我的作品。
文章来源: Magento - registry and current category