【问题标题】:How to change order of tabs in adminhtml catalog product edit in Magento如何在 Magento 中更改 adminhtml 目录产品编辑中的选项卡顺序
【发布时间】:2016-04-04 14:25:28
【问题描述】:

我在 adminhtml 目录产品页面中创建选项卡意见。

我希望我的标签“意见”在标签列表中排在第一位。

app/code/local/Fishpig/Customtabs/Block/Adminhtml/Catalog/Product/Tab.php

类 Fishpig_Customtabs_Block_Adminhtml_Catalog_Product_Tab 扩展 Mage_Adminhtml_Block_Template 实现 Mage_Adminhtml_Block_Widget_Tab_Interface {

public function _construct()
{
    parent::_construct();

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

public function getTabLabel()
{
    return $this->__('Opinion');
}
 public function getTabTitle()
{
    return $this->__('Click here to view your custom tab content');
}

public function canShowTab()
{
    return true;
}

public function isHidden()
{
    return false;
}

app/design/adminhtml/default/default/layout/customtabs.xml *

<layout>
    <adminhtml_catalog_product_edit>
<reference name="product_tabs">
            <action method="addTab">
                <name>opinion</name>
                <block>customtabs/adminhtml_catalog_product_tab</block>
            </action>enter code here
        </reference>
    </adminhtml_catalog_product_edit>
</layout>

*

【问题讨论】:

标签: magento magento-1.9 magento-1.8


【解决方案1】:

如果您希望您的标签位于管理目录产品添加或编辑页面的第一个位置

那么你需要做这些步骤

1:覆盖此文件

<global>
        <blocks>
            <adminhtml>
                <rewrite>
                    <catalog_product_edit_tabs>Namespace_Modulename_Block_Adminhtml_Catalog_Product_Edit_Tabs</catalog_product_edit_tabs>
                </rewrite>
            </adminhtml>
        </blocks>
    </global>           

第 2 步:在文件中

有一个函数名为:_prepareLayout

在你的模块文件中覆盖它

并在此代码后添加选项卡

$product = $this->getProduct();

        if (!($setId = $product->getAttributeSetId())) {
            $setId = $this->getRequest()->getParam('set', null);
        }

添加此代码

$this->addTab('opinion', array(
                'label'     => Mage::helper('core')->__('Opinion'),
                'url'       => $this->getUrl('module/controller/opinion', array('_current' => true)),
                'class'     => 'ajax',
            ));

第 3 步:在控制器中创建一个功能意见,并将您的模板文件设置为 $this-&gt;setTemplate('customtabs/catalog/product/tab.phtml');

如果您需要更多帮助,请告诉我

【讨论】:

  • 感谢您的回答。我补充了你的写作方式,但我还有一个问题。
  • 添加标签后,所有标准标签(常规,价格,...)都不会像此图像上那样显示i.stack.imgur.com/xUkIX.png
  • 你可以查看页面的源代码并检查是否存在任何致命错误并让我知道错误
  • 谢谢,我决定了我的问题。我想在列表的第一个选项卡或设置为活动状态。我找到了选项 - 'active' => true .
【解决方案2】:

尝试改用addTabAfter 方法

    <action method="addTabAfter">
        <name>opinion</name>
        <block>customtabs/adminhtml_catalog_product_tab</block>
        <after></after>
    </action>

【讨论】:

    【解决方案3】:

    要确定要在哪个选项卡之后添加您需要在文件中的自定义选项卡 app/code/local/Fishpig/Customtabs/Block/Adminhtml/Catalog/Product/Tab.php 添加这样的方法:

    public function getAfter()
    {
        return 'group_32'; // Name of tab after which you want add your tab
    }
    

    group_32 在我的例子中它是常规选项卡的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多