目录产品中的Magento Admin自定义选项卡

时间:2013-02-04 14:45:14

标签: magento magento-1.7

我在目录产品下创建了一个自定义选项卡,该选项卡正常,但是当我单击选项卡时,该块的模板未加载。它回应了我输入的内容但它没有获取模板。我在类中编写了这个函数HTC_Csvpricing_Block_Adminhtml_Catalog_Product_Tab extends Mage_Adminhtml_Block_Template实现了Mage_Adminhtml_Block_Widget_Tab_Interface

public function _construct()
{
    parent::_construct();
    echo "I m here";
    $this->setTemplate('csvpricing/tab.phtml');
}

这是我在app / design / adminhtml / default / default / layout / csvpricing.xml

中写的内容
<csvpricing_adminhtml_csvpricing_index>
    <reference name="content">
        <block type="csvpricing/adminhtml_csvpricing" name="csvpricing" />
    </reference>
</csvpricing_adminhtml_csvpricing_index>

<adminhtml_catalog_product_edit>
    <reference name="product_tabs">
        <action method="addTab">
            <name>csvpricing_tab</name>
            <block>csvpricing/adminhtml_catalog_product_tab</block>
        </action>
    </reference>
</adminhtml_catalog_product_edit> 

请指导我缺少的内容。

由于

1 个答案:

答案 0 :(得分:0)

你可以这样做: 模块config.xml

<config>
    <adminhtml>
        <layout>
            <updates>
                <your_module>
                    <file>your-module.xml</file>
                </your_module>
            </updates>
        </layout>
    </adminhtml>
</config>

在/app/design/adminhtml/default/default/layout/your-module.xml中创建布局XML:

<?xml version="1.0"?>
<layout>
    <adminhtml_catalog_product_edit>
        <reference name="product_tabs">
            <action method="addTab">
                <name>your_module_some_tab</name>
                <block>your_module/adminhtml_catalog_product_tab</block>
            </action>
        </reference>
    </adminhtml_catalog_product_edit>
</layout>

在{your_module} /Block/Adminhtml/Catalog/Product/Tab.php中创建标签块:

class Your_Module_Block_Adminhtml_Catalog_Product_Tab 
    extends Mage_Adminhtml_Block_Template
    implements Mage_Adminhtml_Block_Widget_Tab_Interface
{
    /**
     * Set the template for the block
     */
    public function _construct()
    {
        parent::_construct();

        $this->setTemplate('catalog/product/tab/some-tab.phtml');
    }

    /**
     * Retrieve the label used for the tab relating to this block
     *
     * @return string
     */
    public function getTabLabel()
    {
        return $this->__('Some Tab');
    }

    /**
     * Retrieve the title used by this tab
     *
     * @return string
     */
    public function getTabTitle()
    {
        return $this->__('Some Tab');
    }

    /**
     * Determines whether to display the tab
     * Add logic here to decide whether you want the tab to display
     *
     * @return bool
     */
    public function canShowTab()
    {
        return true;
    }

    /**
     * Stops the tab being hidden
     *
     * @return bool
     */
    public function isHidden()
    {
        return false;
    }
}

如果你的模块还没有,那么你需要创建一个数据助手来支持翻译。

在/app/design/adminhtml/default/default/template/catalog/product/tab/some-tab.phtml中制作标签模板:

<div class="entry-edit">
    <div class="entry-edit-head">
        <h4>Some Heading</h4>
    </div>
    <div class="fieldset fieldset-wide">
        <div class="hor-scroll">
            <!-- your content here -->
        </div>
    </div>
</div>