我想在我的magento实例中添加config
字段。你应该能够在其中存储一个cms块。
<block translate="label">
<label>Cms block</label>
<frontend_type>select</frontend_type>
<source_model>???</source_model>
<sort_order>30</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</block>
但我只找到了cms pages (adminhtml/system_config_source_cms_page
)的模型。
cms 块的对应source_model
是什么?
答案 0 :(得分:8)
我认为课程Mage_Cms_Model_Resource_Block_Collection对此非常有用:
<cms_block translate="label">
<label>Left template CMS block</label>
<frontend_type>select</frontend_type>
<source_model>cms/resource_block_collection</source_model>
<sort_order>0</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>0</show_in_website>
<show_in_store>0</show_in_store>
</cms_block>
答案 1 :(得分:4)
没有,但你可以制作你的:
class Your_Module_Model_System_Config_Source_Cms_Block
{
protected $_options;
public function toOptionArray()
{
if (!$this->_options) {
$this->_options = Mage::getResourceModel('cms/block_collection')
->load()
->toOptionArray();
}
return $this->_options;
}
}
答案 2 :(得分:2)
创建自己的源模型 -
class Namespace_Modulename_Model_System_Config_Source_Cmsblock
{
protected $_options;
public function toOptionArray()
{
if (!$this->_options) {
$this->_options = Mage::getResourceModel('cms/block_collection')
->load()
->toOptionArray();
}
return $this->_options;
}
}
将其包含在您的系统xml:
中<block translate="label">
<label>Cms block</label>
<frontend_type>select</frontend_type>
<source_model>modulename/system_config_source_cmsblock</source_model>
<sort_order>30</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</block>
答案 3 :(得分:2)
您可以使用与类别静态块字段相同的模型:Catalog_Model_Category_Attribute_Source_Page
又名catalog/category_attribute_source_page
<block translate="label">
<label>Cms block</label>
<frontend_type>select</frontend_type>
<source_model>catalog/category_attribute_source_page</source_model>
<sort_order>30</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</block>