2012-04-23 40 views
0

我有一個關於Mage::registrycategories:的問題我是一個分類頁面,我通過Mage::registry('current_category')檢索當前類別。我注意到它只適用於根類別,事實上,如果我訪問一個子類別頁面,我總是用Mage::registry('current_category')檢索根類別。所以問題是:是關於後端配置,緩存還是其他?Magento - 註冊表和當前類別

+0

閱讀你的文章,並問:你在這裏有什麼問題? – 2012-04-23 14:57:39

回答

3

OOB,current_categoryMage_CatalogCategoryController::_initCategory()(參照here)被設置,並且將始終等於當前正在觀看的類別。

如果您的數據不同,那麼您的應用程序具有非標準功能,或者您看到緩存的結果。

+0

tnx快速回復。解決了 ;-) – Luke 2012-04-23 15:24:27

6

如果你是在一個模板(如catalog/category/view.phtml),你可以得到當前的類別與

$this->getCurrentCategory(); 

如果你是一個模型,控制器要不,試試這個(發現here):

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

但是,法師:: registry('current_category')是正常的路要走。

1

對於所有類別: -

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

當前類別

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

爲我工作。