在Mage_Catalog_Block_Layer_View中有一個名爲$ _filters的變量,它循環顯示$ _filter var中的屬性。每當我嘗試var轉儲這個變量,我的服務器就會拋出一個錯誤。這種行爲是完全神祕的。有誰知道我是否可以回到屬性代碼?我想要做這樣的事情:訪問過濾var屬性?
$_filter->getAttribute()->getAttributeCode();
在Mage_Catalog_Block_Layer_View中有一個名爲$ _filters的變量,它循環顯示$ _filter var中的屬性。每當我嘗試var轉儲這個變量,我的服務器就會拋出一個錯誤。這種行爲是完全神祕的。有誰知道我是否可以回到屬性代碼?我想要做這樣的事情:訪問過濾var屬性?
$_filter->getAttribute()->getAttributeCode();
你試過$_filter->getAttributeModel()->getAttributeCode()
?
public function getFilters()
{
$filters = array();
if ($categoryFilter = $this->_getCategoryFilter()) {
$filters[] = $categoryFilter;
}
$filterableAttributes = $this->_getFilterableAttributes();
foreach ($filterableAttributes as $attribute) {
$filters[] = $this->getChild($attribute->getAttributeCode().'_filter');
}
return $filters;
}
您可以看到該數組的變量設置在哪裏發生,以及屬性代碼在此類中的使用方式。請注意,這是一個包含視圖對象而不是對象本身的數組,並且拋出所有這些只會耗盡服務器內存。當然,你不能在這個數組上調用方法。
因此,沒有實際的方法將此代碼從此數組中取出,並且您可能在模板或子對象級別獲得更多成功,或者如果您需要在同一個類中獲得此過濾器,您可以從$ this獲取過濾器 - > _ getFilterableAttributes ()方法,或者您可以嘗試遍歷每個濾鏡陣列成員及其子成員
$filters['0']->getItems()
bingo!像魅力一樣工作..謝謝! – Chris 2011-01-26 14:27:53