Почему-то неправильно отрабатывает ocmod в opencart 2.3. Итак вот что делаю в install.xml:
<file path="catalog/view/theme/*/template/checkout/shipping_method.tpl">
<operation>
<search position="before"><![CDATA[<?php foreach ($shipping_method['quote'] as $quote) { ?>]]></search>
<add><![CDATA[
<?php if($shipping_method['code'] == "onedel"):?>
<?php echo $onedel_content;?>
<?php endif;?>
]]></add>
</operation>
</file>
указываю position before (с after такой же результат), получаю в итоге в модифицированном файле мой контент, но при этом искомая строка удаляется.
Вот исходный:
<?php if (!$shipping_method['error']) { ?>
<?php foreach ($shipping_method['quote'] as $quote) { ?>
<div class="radio">
а вот после модификации:
<?php if (!$shipping_method['error']) { ?>
<?php if($shipping_method['code'] == "onedel"):?>
<?php echo $onedel_content;?>
<?php endif;?>
<div class="radio">
Не пойму почему удаляется искомая строка. Есть еще в install.xml замены с position="before", там все ок. В доках прочел еще про параметр offset в теге add, прописывал - не помогло. Идеи закончились...В чем причина такого поведения? В логах extension-modification нет ошибок.
Вы не правильно написали.
<file path="catalog/view/theme/*/template/checkout/shipping_method.tpl">
<operation>
<search><![CDATA[<?php foreach ($shipping_method['quote'] as $quote) { ?>]]></search>
<add position="before"><![CDATA[
<?php if($shipping_method['code'] == "onedel"):?>
<?php echo $onedel_content;?>
<?php endif;?>
]]></add>
</operation>
</file>
Синтаксис search - <search trim="true|flase" index="0|1|2...">
Синтаксис add - <add position="before|after|replace" trim="true|flase" offset="0|1|2..">
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости