Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento:为静态块小部件注册自定义模板文件_Php_Magento_Templates_Widget_Themes - Fatal编程技术网

Php Magento:为静态块小部件注册自定义模板文件

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

我开始学习如何与Magento合作。我喜欢静态块的概念,使用静态块小部件将它们添加到cms页面非常容易。 这个小部件给了我一个下拉列表,在这里我可以选择它应该使用的模板文件。默认情况下,只有默认模板文件位于
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