Magento的 - 注册表和当前类别(Magento - registry and current

2019-09-16 16:31发布

我有一个问题关于Mage::registrycategories:我是一个类别页面上,我检索由当前类别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