Magento:哪个块在Mage_Adminhtml Catalog ProductController中使用?

时间:2012-01-27 12:57:50

标签: magento

主要目的是找到为新产品页面生成左标记块的位置。并修改它。

为了得到它,我试图了解哪个块正在运行,以防产品是新产品?

在此代码中,我打印出名称块。

class Mage_Adminhtml_Catalog_ProductController extends Mage_Adminhtml_Controller_Action
{
//...
    /**
     * Create new product page
     */
    public function newAction()
    {
         //...

         $this->loadLayout(array(
                'default',
                strtolower($this->getFullActionName()),
                'adminhtml_catalog_product_'.$product->getTypeId() . $_additionalLayoutPart
         ));

         // echo adminhtml_catalog_product_new
         echo 'adminhtml_catalog_product_'.$product->getTypeId() . $_additionalLayoutPart;
         //...
    }
//...
}

在catalog.xml中找到这个块:

 <adminhtml_catalog_product_new>
    <update handle="editor"/>
    <!-- ... -->
    <reference name="left">
        <block type="adminhtml/catalog_product_edit_tabs" name="product_tabs"></block>
    </reference>
    <!-- ... -->
</adminhtml_catalog_product_new>

在接下来的步骤中,我找到了块模型:

class Mage_Adminhtml_Block_Catalog_Category_Tabs extends Mage_Adminhtml_Block_Widget_Tabs { /**
     * Initialize Tabs
     *
     */
    public function __construct()
    { 
        die("debug label");
        //....
    }

    // ... 
}

刷新页面......没什么好开心的。 似乎我们正在寻找没有阻止......那么呢?

1 个答案:

答案 0 :(得分:1)

首先,布局xml说adminhtml/catalog_product_edit_tabs,然后你应该找{1}},而不是Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs

其次,如果您要创建新的可配置产品,我认为它是Mage_Adminhtml_Block_Catalog_Category_Tabs来控制标签。