0

我在目录产品下创建了一个自定义选项卡,该选项卡很好,但是当我单击该选项卡时,该块的模板没有加载。它回显我输入的内容,但没有获取模板。我在类 HTC_Csvpricing_Block_Adminhtml_Catalog_Product_Tab 中编写了这个函数 extends Mage_Adminhtml_Block_Template implements 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> 

请指导我所缺少的。

谢谢

4

1 回答 1

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>
于 2013-02-05T10:21:13.263 回答