我正在尝试做什么
我创建了一个管理表单,用户需要从下拉列表中选择一个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'模型的无效函数。
我的问题
如何在Magento的管理表单中获取CMS页面的选项数组?
答案 0 :(得分:17)
使用您的代码,您正在加载新的cms页面模型。要获取集合,请使用以下代码,toOptionArray()
至少会返回一些内容:
Mage::getModel('cms/page')->getCollection()->toOptionArray()
答案 1 :(得分:0)
带有链接的CMS Pages数组
$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"];
}