我有一个在Magento 1.7.0.2上运行的网站,我需要system.xml文件中的自定义按钮,这样我只需点击一下即可删除某个类别中的所有产品。我已经拥有固定的类别ID,因此不需要类别下拉列表,只需要删除所有产品的按钮。我尝试使用此链接的答案创建按钮:Magento - Add a button to system.xml with method attached to it但每次定义前端模型时,它都会返回空白页而不是“配置”页面。
这是我用于创建按钮的system.xml代码:
<productdelete>
<label>Delete Customer Generated Products</label>
<frontend_type>text</frontend_type>
<sort_order>20</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>0</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<productdeletebutton translate="label">
<label>Delete Now</label>
<frontend_type>button</frontend_type>
<frontend_model>diy/button</frontend_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</productdeletebutton>
</fields>
</productdelete>
这是我的Button.php代码:
class CT_Diy_Block_Button extends Mage_Adminhtml_Block_System_Config_Form_Field
{
protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
{
$this->setElement($element);
$url = $this->getUrl('catalog/product');
$html = $this->getLayout()->createBlock('adminhtml/widget_button')
->setType('button')
->setClass('scalable')
->setLabel('Delete All!')
->setOnClick("setLocation('$url')")
->toHtml();
return $html;
}
}
答案 0 :(得分:0)
您必须在Button.php中为前端模型定义模板
protected function _construct()
{
parent::_construct();
$this->setTemplate('diy/button.phtml');
}
本文可能会帮助您完成模块。 - &GT;&GT; http://www.atwix.com/magento/add-button-to-system-configuration/