Самый простой - найти файл шаблона блока и исправить его.
Как правило, это самый дорогой для заказчика способ, потому что среди всех способов он максимально увеличивает заказчику стоимость сопровождения магазина.
Предпочтительный способ - установить для блока свой шаблон через макетные правила.
Для этого:
- Объявите в config.xml вашего модуля ваш файл для макетных правил (если не описывали его ранее).
Если вы переопределяете административный блок, то объявите ваш макет внутри тегов adminhtml:
<adminhtml> <layout> <updates> <df_checkout> <file>df_checkout.xml</file> </df_checkout> </df_checkout> </layout> </adminhtml>
Если вы переопределяете витринный блок, то объявите ваш макет внутри тегов frontend:
<frontend> <layout> <updates> <df_checkout> <file>df_checkout.xml</file> </df_checkout> </df_checkout> </layout> </frontend>
- Затем создайте макетный файл и поместите его в базовую папку с макетами.
Для макетов административной части:
app/design/adminhtml/default/default/layout/df_checkout.xml
Для макетов витрины:
app/design/frontend/base/default/layout/df_checkout.xml
- Убедитесь, что система загружает ваш модуль после модуля, который создает блок, чей шаблон вы перекрываете.
Чтобы ваш модуль загружался после другого модуля, используйте тег depends в описательном файле вашего модуля в папке app/etc/modules.
Например:
<config> <modules> <Df_Adminhtml> <active>true</active> <codePool>local</codePool> <depends> <Df_Core/> <Mage_Adminhtml/> </depends> </Df_Adminhtml> </modules> </config>
- Определите дескрипторы той страницы или множества страниц, для которых вы зотите переопределить шаблон.
Для определения дескрипторов удобно использовать модуль Alanstorm Layoutviewer.
- Найдите блок, чей шаблон вы переопределяете, в стандартных макетных правилах, определите его имя (атрибут name).
Например, у блока
<block type="adminhtml/sales_order_create_items_grid" template="sales/order/create/items/grid.phtml" name="items_grid">
именем будет items_grid
- В макетном файле вашего модуля внутри требуемых дескрипторов сошлитесь на требуемый блок, используя тег reference.
А затем установите нужный ваш шаблон вызовом метода setTemplate:
<layout> <adminhtml_sales_order_create_index> <reference name='items_grid'> <action method="setTemplate"> <template>df/sales/order/create/items/grid.phtml</template> </action> </reference> </adminhtml_sales_order_create_index> </layout>