Как добавить вкладку на страницу администрирования заказа на продажу? - PullRequest
4 голосов
/ 17 августа 2011

Я хочу добавить пользовательскую вкладку на страницу заказа в админке magento. Есть ли способ сделать это с помощью простого переопределения?

1 Ответ

10 голосов
/ 17 августа 2011

Предполагая, что вы знаете, как сделать модуль, вот шаги, которые вам нужно выполнить:

  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>
    

Надеюсь, что поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...