2013-06-29 60 views
7

我試圖待辦事項如何獲取Magento中的CMS頁面列表?

我已經創建了用戶需要從下拉菜單中選擇一個CMS頁面的管理形式。

我曾嘗試

$form->addField('cms_page_id', 'select', array(
'label'  => Mage::helper('custom/data')->__('CMS Page'), 
'class'  => 'required-entry', 
'required' => true, 
'name'  => 'cms_page_id', 
'values' => Mage::getSingleton('cms/page')->toOptionArray(), 
'value'  => $this->getCmsPageId() 
)); 

的想法是代碼從CMS模型的一個選項數組。但是,「toOptionArray」是'cms/page'模型的無效函數。

我的問題

我怎樣才能獲得CMS頁面的選項陣列用於在Magento管理員形式?

回答

16

隨着你的代碼,你正在加載一個新的cms頁面模型。爲了獲得一個collection使用下面的代碼和toOptionArray()將至少有返回值:

Mage::getModel('cms/page')->getCollection()->toOptionArray() 
0

CMS頁面陣列鏈接

$cms_arr = Mage::getModel('cms/page')->getCollection()->toOptionArray(); 
$cms_pages[""] = "-Select CMS Page-"; 
foreach($cms_arr as $cms){ 
    $url = $this->getUrl($cms["value"]); 
    $cms_pages[$url] = $cms["label"]; 
} 
相關問題