Переписать блок администратора, который переписан другим расширением - PullRequest
4 голосов
/ 12 января 2012

Я пытаюсь переписать sales_order_view Вот что я имею в config.xml

        <blocks>
        <adminhtml>
            <rewrite>
                <sales_order_view>Bitstream_FancourierSelfawb_Block_View</sales_order_view>
            </rewrite>
        </adminhtml>
        <bitstream_selfawb>
            <class>Bitstream_FancourierSelfawb_Block</class>
        </bitstream_selfawb>
    </blocks>

Ofcorse, у меня есть нужный файл в Bitstream / FancourierSelfawb / Block

Все, что мне нужно,добавить кнопку, но, просматривая другие модули, я вижу, что блок уже перезаписан.

        <blocks>
        <adminhtml>
            <rewrite>
                <sales_order_view>Fooman_EmailAttachments_Block_View</sales_order_view>
            </rewrite>
        </adminhtml>
    </blocks>

Если я прокомментирую это в config.xml из модуля Fooman, я смогу увидеть свою кнопку.В противном случае не повезло.Есть ли способ перезаписать один и тот же блок дважды в другом модуле?

1 Ответ

7 голосов
/ 13 января 2012

В app/etc/modules/Bitstream_FancourierSelfawb.xml добавить узел depends.

<config>
    <modules>
        <Bitstream_FancourierSelfawb>
            ...
            <depends>
                <Fooman_EmailAttachments />
            </depends>
        </Bitstream_FancourierSelfawb>
    </modules>
</config>

Конечно, ваш Bitstream_FancourierSelfawb_Block_View класс должен будет расширить Fooman_EmailAttachments_Block_View напрямую вместо оригинала Мага.


Если вы хотите, чтобы ваше дополнение работало как с расширением Fooman, так и без него, вам придется прибегнуть к более длинному основанному на событиях методу .

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