如何在销售订单管理页面中添加选项卡?

时间:2011-08-16 20:44:49

标签: magento

我想在magento管理员的订单页面添加自定义标签。有没有办法用简单的覆盖来做到这一点?

1 个答案:

答案 0 :(得分:10)

假设您知道如何创建模块,以下是您需要执行的步骤:

  1. 布局更新:在管理员的xml布局文件中,您要“收听”管理员的订单视图呈现处理并添加标签:

    <layout>
        <adminhtml_sales_order_view>
            <reference name="sales_order_tabs">
                <action method="addTab"><name>the_name_of_your_tab</name><block>the_block_alias_of_your_module/path_to_your_tab_file</block></action>
            </reference>
        </adminhtml_sales_order_view>
    </layout>
    
  2. 标签文件:我通常会尝试尊重Magento的文件夹结构,因此该文件将位于 app / code / local-or-community / YourNamespace / YourModule / Block中/Adminhtml/Order/View/Tab/File.php ,至少会有:

    <?php
    class YourNamespace_YourModule_Block_Adminhtml_Order_View_Tab_File
        extends Mage_Adminhtml_Block_Template
        implements Mage_Adminhtml_Block_Widget_Tab_Interface
    {
        protected $_chat = null;
    
        protected function _construct()
        {
            parent::_construct();
            $this->setTemplate('yourmodule/order/view/tab/file.phtml');
        }
    
        public function getTabLabel() {
            return $this->__('Tab label');
        }
    
        public function getTabTitle() {
            return $this->__('Tab title');
        }
    
        public function canShowTab() {
            return true;
        }
    
        public function isHidden() {
            return false;
        }
    
        public function getOrder(){
            return Mage::registry('current_order');
        }
    
  3. .phtml文件,必须遵守您在块的__construct()中指定的路径,并且应该具有以下内容:

    <div class="entry-edit">
        <div class="entry-edit-head">
            <h4><?php echo $this->__('a title'); ?></h4>
        </div>
        <div class="fieldset fieldset-wide">
            the content you want to show
        </div>
    </div>
    
  4. 希望有助于