我开始学习如何使用Magento。我喜欢静态块的概念,并且使用静态块小部件将它们添加到cms页面非常容易。
小部件给我一个下拉列表,我可以选择它应该使用的模板文件。默认情况下,只有cms/widget/static_block/default.phtml
这是对话框:
如何将自己的模板文件添加到下拉列表中?
我知道小部件只会创建以下行:
{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="8"}}
而且我知道我可以轻松更改"模板"属性。但我认为这不是一种干净的方式,因为将来,用户不知道正确的文件名,只是使用下拉列表会更容易。
我希望我能解释一下这个问题并感谢您的帮助!
答案 0 :(得分:3)
出于本回答的目的,我将假设您了解Magento扩展如何工作,但如果没有,那么就这个主题有很多好的答案。
窗口小部件由widget.xml文件定义,因此您需要将widget.xml文件添加到新扩展或现有扩展的etc
子目录(即app/code/local/My/MyExtension/etc
)。由于CMS静态块小部件已在<cms_static_block>
中定义为app/code/core/Mage/Cms/etc/widget.xml
,因此您的新widget.xml文件将仅将新模板节点注入此小组件的现有XML配置中。以下是您的新widget.xml的外观:
<?xml version="1.0"?>
<widgets>
<cms_static_block>
<parameters>
<template>
<values>
<custom translate="label">
<value>cms/widget/static_block/custom.phtml</value>
<label>My Extension - Custom CMS Block Template</label>
</custom>
</values>
</template>
</parameters>
</cms_static_block>
</widgets>
您可能已经知道,<value>
节点是指您的自定义模板的相对位置。所以在上面的例子中,它引用了一个模板文件(无论你的自定义包/主题目录是什么):app/design/frontend/my_package/my_theme/template/cms/widget/static_block/custom.phtml