【发布时间】:2023-04-09 08:26:01
【问题描述】:
我正在尝试为 magento cms 开发一个小部件,但遇到了一些问题。
我是 Magento 的新手,所以请放轻松。
因此,小部件由图像、一些文本和一个超链接组成。
- 我在 /app/etc/modules/ 中创建了一个文件 MP_All.xml
- 在 /app/code/local/MP 中创建了小部件文件夹结构 - 为小部件创建了 MP 文件夹。
- 在 MP 文件夹内是一个 BP_Widget 文件夹,其中包含 Block、Helper、Model 等目录。
- /etc目录下是config.xml和widget.xml
- Block 中有一个 Banners.php 文件,Helper 目录中有一个 data.php 文件。
- Model 目录中有一个 Options.php 文件。
这是创建文件的代码。
/app/etc/modules/MP_All.xml
<?xml version="1.0"?>
<config>
<modules>
<MP_BP_Widget>
<active>true</active>
<codePool>local</codePool>
</MP_BP_Widget>
</modules>
</config>
/app/code/local/MP/BP_Widget/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<MP_BP_Widget>
<version>0.1.0</version>
</MP_BP_Widget>
</modules>
<global>
<blocks>
<bp_widget>
<class>MP_BP_Widget_Block</class>
</bp_widget>
</blocks>
<helpers>
<bp_widget>
<class>MP_BP_Widget_Helper</class>
</bp_widget>
</helpers>
<models>
<bp_widget>
<class>MP_BP_Widget_Model</class>
</bp_widget>
</models>
</global>
</config>
/app/code/local/MP/etc/widget.xml
<?xml version="1.0"?>
<widgets>
<bp_widget_banners type="bp_widget/banners" translate="name description" module="bp_widget">
<name>Product Banners</name>
<description>Create product banners with hyperlink to specific page/product/URL</description>
<parameters>
<link_options>
<label>Link</label>
<visible>1</visible>
<type>text</type>
</link_options>
</parameters>
</bp_widget_banners>
</widgets>
/app/code/local/MP/BP_Widget/Block/Banners.php
class MP_BP_Widget_Block_Banners extends Mage_Core_Block_Template implements Mage_Core_Block_Interface {
protected function _toHtml () {
}
}
/app/code/local/MP/BP_Widget/Helper/data.php
class MP_BP_Widget_Helper_Data extends Mage_Core_Helper_Abstract {
}
/app/code/local/MP/BP_Widget/Model/Options.php
class MP_BP_Widget_Model_Options {
public function toOptionArray () {
return array(
array( 'value' => 'test_option', 'label' => 'Test Option' ),
array( 'value' => 'inquiry', 'label' => 'Inquiry' )
);
}
}
我现在遵循的教程说该小部件应该处于活动状态并且“可以使用”。但它仍然没有显示在可用小部件的下拉列表中。我在这里错过了什么?
有没有关于 XML Schema 和 Magento 小部件开发规则的参考?
正如我之前所说,我对 Magento 很陌生。提前致谢。编程愉快!
【问题讨论】: