Php Magento:为静态块小部件注册自定义模板文件
我开始学习如何与Magento合作。我喜欢静态块的概念,使用静态块小部件将它们添加到cms页面非常容易。 这个小部件给了我一个下拉列表,在这里我可以选择它应该使用的模板文件。默认情况下,只有默认模板文件位于Php Magento:为静态块小部件注册自定义模板文件,php,magento,templates,widget,themes,Php,Magento,Templates,Widget,Themes,我开始学习如何与Magento合作。我喜欢静态块的概念,使用静态块小部件将它们添加到cms页面非常容易。 这个小部件给了我一个下拉列表,在这里我可以选择它应该使用的模板文件。默认情况下,只有默认模板文件位于cms/widget/static\u block/default.phtml 以下是对话框: 如何将自己的模板文件添加到下拉列表中? 我知道小部件只创建以下行: {{widget type="cms/widget_block" template="cms/widget/static_blo
cms/widget/static\u block/default.phtml
以下是对话框:
如何将自己的模板文件添加到下拉列表中?
我知道小部件只创建以下行:
{{widget type="cms/widget_block" template="cms/widget/static_block/default.phtml" block_id="8"}}
我知道我可以很容易地更改“模板”属性。但我认为这并不是一种干净的方式,因为在未来,用户不知道正确的文件名,而且他们只需使用下拉列表就可以轻松得多
我希望我能解释这个问题,谢谢你的帮助 在回答这个问题时,我假设您了解Magento扩展是如何工作的,但如果不了解的话,在这个问题上有很多好的答案 widget是由widget.xml文件定义的,因此您需要将widget.xml文件添加到新的或现有扩展名的
etc
子目录(即app/code/local/My/MyExtension/etc
)。由于CMS静态块小部件已在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>
cms/widget/static_block/custom.phtml
我的扩展-自定义CMS块模板
您可能已经知道,
节点指的是自定义模板的相对位置。因此,在我上面的示例中,它在这里引用了一个模板文件(无论您的自定义包/主题目录是什么):app/design/frontend/my_package/my_theme/template/cms/widget/static_block/custom.phtml
为了回答这个问题,我假设您了解Magento扩展的工作原理,但如果不是的话,在这个话题上有很多好的答案
widget是由widget.xml文件定义的,因此您需要将widget.xml文件添加到新的或现有扩展名的etc
子目录(即app/code/local/My/MyExtension/etc
)。由于CMS静态块小部件已在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>
cms/widget/static_block/custom.phtml
我的扩展-自定义CMS块模板
您可能已经知道,
节点指的是自定义模板的相对位置。因此,在我上面的示例中,它在这里引用了一个模板文件(无论您的自定义包/主题目录是什么):app/design/frontend/my_package/my_theme/template/cms/widget/static_block/custom.phtml
为了回答这个问题,我假设您了解Magento扩展的工作原理,但如果不是的话,在这个话题上有很多好的答案
widget是由widget.xml文件定义的,因此您需要将widget.xml文件添加到新的或现有扩展名的etc
子目录(即app/code/local/My/MyExtension/etc
)。由于CMS静态块小部件已在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>
cms/widget/static_block/custom.phtml
我的扩展-自定义CMS块模板
您可能已经知道,
节点指的是自定义模板的相对位置。因此,在我上面的示例中,它在这里引用了一个模板文件(无论您的自定义包/主题目录是什么):app/design/frontend/my_package/my_theme/template/cms/widget/static_block/custom.phtml
为了回答这个问题,我假设您了解Magento扩展的工作原理,但如果不是的话,在这个话题上有很多好的答案
widget是由widget.xml文件定义的,因此您需要将widget.xml文件添加到新的或现有扩展名的etc
子目录(即app/code/local/My/MyExtension/etc
)。由于CMS静态块小部件已在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>
cms/widget/static_block/custom.phtml
我的扩展-自定义CMS块模板
您可能已经知道,
节点指的是自定义模板的相对位置。因此,在我上面的示例中,它在这里引用了一个模板文件(无论您的自定义包/主题目录是什么):app/design/frontend/my_-package/my_-theme/template/cms/widget/static_-block/custom.phtml