0

我是 OCMod 的新手,正在尝试整理我的 Opencart 3.x 商店修改。在许多地方,我需要替换多行代码,而且我似乎无法抵消工作。遵循 Digicart 的解决方案:用 OCMOD 替换管理员 TPL 文件 我有以下代码。

3行代码替换:

<button type="button" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ button_cart }}</span></button>
<button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><i class="fa fa-heart"></i></button>
<button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><i class="fa fa-exchange"></i></button>

强迫症代码:

<file path="catalog/view/theme/default/template/product/category.twig" name="">
<operation info="Move and change add to cart icon and remove text">
<search offset="3"><![CDATA[<button type="button" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ button_cart }}</span></button>]]></search>
    <add position="replace"><![CDATA[
            {% if 1 %}
            <button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><i class="fa fa-heart"></i></button>              
            <button type="button" data-toggle="tooltip" title="Add to Cart" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');"><i class="fa fa-cart-plus"></i></button>
            <button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><i class="fa fa-exchange"></i></button>
            {% endif %}
    ]]></add>
</operation>
</file>

请忽略多余的“if”,去掉实际条件进行测试。问题是 offset="3" 似乎完全被忽略了,只替换了搜索字符串。我最终得到 5 个按钮,而不是 3 个重新排序和修改的按钮。

我究竟做错了什么?

4

1 回答 1

3

请移至offset标记add并使用 2 而不是 3(从零开始):

<add position="replace" offset="2">

我用 OpenCart 3.0.2.0 进行了测试,它工作正常。

为了更快地检查,您可以上传文件夹中带有install.ocmod.xml名称的system/文件,然后清除ocmod缓存。

<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>test123456</name>
  <code>test123456</code>
  <version>1.0</version>
  <author>test123456</author>
  <link>http://www.opencart.com</link>
<file path="catalog/view/theme/default/template/product/category.twig" name="">
<operation info="Move and change add to cart icon and remove text">
<search><![CDATA[<button type="button" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">{{ button_cart }}</span></button>]]></search>
    <add position="replace" offset="2"><![CDATA[
            {% if 1 %}
            <button type="button" data-toggle="tooltip" title="{{ button_wishlist }}" onclick="wishlist.add('{{ product.product_id }}');"><i class="fa fa-heart"></i></button>              
            <button type="button" data-toggle="tooltip" title="Add to Cart" onclick="cart.add('{{ product.product_id }}', '{{ product.minimum }}');"><i class="fa fa-cart-plus"></i></button>
            <button type="button" data-toggle="tooltip" title="{{ button_compare }}" onclick="compare.add('{{ product.product_id }}');"><i class="fa fa-exchange"></i></button>
            {% endif %}
    ]]></add>
</operation>
</file>
</modification>
于 2018-02-04T12:41:07.933 回答