2013-06-29 22 views
7

Ben kullanıcı bir açılır bir CMS sayfayı seçmek için gereken bir yönetici formu oluşturduk Ne benMagento'da cms sayfalarının listesi nasıl alınır?

todo çalışıyorum.

i

$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() 
)); 

çalıştık ne fikri kodu CMS modelinden bir seçenek dizisi alır olduğunu. Ancak "toOptionArray", "cms/page" modeli için geçersiz bir işlevdir.

My Soru

Ben Magento bir yönetici formunda kullanılmak üzere CMS sayfalarının bir seçenek dizisini nasıl alabilirim

?

cevap

16

Kodunuz ile yeni bir cms sayfa modeli yüklüyorsunuz. kod aşağıdaki koleksiyonu kullanımını edinmek ve toOptionArray() en azından bir şey döndürür: bağlantılar

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

CMS Sayfalar dizi

$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"]; 
} 
İlgili konular