0

そのため、いくつかのタブを追加するブロックをオーバーライドしています。私がやろうとしているのは、いくつかのタブを削除することだけです。ただし、私のコードの die() はすべてを殺します (したがって、それが呼び出されています) にもかかわらず、以前はタブがあった場所に空白の場所ができています。コードは次のとおりです。

config.xml:

<global>
        <blocks>
            <affiliateplusext>
                <class>Blizzardlabs_Affiliateplusext_Block</class>
            </affiliateplusext>                
            <affiliateplusstatistic>
                <rewrite>
                    <frontend_diagrams>Blizzardlabs_Affiliateplusext_Block_Frontend_Diagrams</frontend_diagrams>
                </rewrite>
            </affiliateplusstatistic>
        </blocks>
</global>

それらのレイアウト ファイル:

class Magestore_Affiliateplusstatistic_Block_Frontend_Diagrams extends Mage_Adminhtml_Block_Widget_Tabs
{
    public function __construct(){
        parent::__construct();
        $this->setId('diagram_tab');
        $this->setDestElementId('diagram_tab_content');
        $this->setTemplate('affiliateplusstatistic/widget/tabshoriz.phtml');
    }

    protected function _prepareLayout(){
        $this->addTab('sales',array(
            'label'     => $this->__('Sales Amount'),
            'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_sales')->toHtml(),
            //'active'  => true,
        ));

        $this->addTab('transactions',array(
            'label'     => $this->__('Transactions'),
            'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_transactions')->toHtml(),
        ));

        $this->addTab('commissions',array(
            'label'     => $this->__('Commissions'),
            'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_commissions')->toHtml(),
        ));

        $this->addTab('clicks',array(
            'label'     => $this->__('Clicks'),
            'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_clicks')->toHtml(),
        ));

        $this->addTab('impressions',array(
            'label'     => $this->__('Impressions'),
            'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_impressions')->toHtml(),
        ));

        $this->setChild('totals',$this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_totals'));
        $this->setChild('filters',$this->getLayout()->createBlock('affiliateplusstatistic/frontend_filters'));

        return parent::_prepareLayout();
    }
}

私のレイアウトファイル:

<?php
class Blizzardlabs_Affiliateplusext_Block_Frontend_Diagrams extends Magestore_Affiliateplusstatistic_Block_Frontend_Diagrams
{
    protected function _prepareLayout(){
        $this->addTab('sales',array(
            'label'     => $this->__('Sales Amount'),
            'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_sales')->toHtml(),
            'active'    => true,
        ));
//      
//      $this->addTab('transactions',array(
//          'label'     => $this->__('Transactions'),
//          'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_transactions')->toHtml(),
//      ));
//      
//      $this->addTab('commissions',array(
//          'label'     => $this->__('Commissions'),
//          'content'   => $this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_commissions')->toHtml(),
//      ));
//      
//
//        
//        $this->setChild('totals',$this->getLayout()->createBlock('affiliateplusstatistic/frontend_diagrams_totals'));
//        $this->setChild('filters',$this->getLayout()->createBlock('affiliateplusstatistic/frontend_filters'));

        return parent::_prepareLayout();
    }
}

エラーやログはありません。助けてください!

4

1 に答える 1

1

レイアウト xml を使用した操作の順序についてはわかりません。しかし、次のように、デザイン フォルダー内の local.xml から他のモジュールのタブを削除したことはわかっています。

<module_controller_action> <!-- **(Direct accordingly) -->
    <reference name="the_specific_tabs_block_name">
        <action method="removeTab"><name>transactions</name></action>
    </reference>
</module_controller_action>

クラスを作成してオリジナルを拡張するよりもはるかに優れています。(それが機能する場合)

幸運を。

于 2013-06-08T10:21:09.933 に答える