Перейти к содержанию
Igor112

[Решено] Как правильно составить модификатор?

Рекомендуемые сообщения

Здравствуйте.
Решил создать свой модуль. Нужно произвести замену стандартных хлебных крошек на крошки с разметкой.

 

<?xml version="1.0" encoding="UTF-8"?>
<modification>
  <code>Breadcrumblist from Igor</code>
  <name><![CDATA[Microdata BreadcrumbList OC 3.0.x]]></name>
  <version><![CDATA[1.0]]></version>
  <author><![CDATA[Igor11]]></author>
  <date><![CDATA[2018.02.01]]></date>
  <file path='catalog/language/ru-ru/ru-ru.php'>
    <operation info='Fix for Font Awesome'>
      <search><![CDATA[
        <i class="fa fa-home"></i>
      ]]></search>
      <add position='replace'><![CDATA[
        <i class="fa fa-home"></i><span style="display:none">Главная</span>
      ]]></add>
    </operation>
  </file>
  <file path='catalog/view/theme/*/template/{product,information,checkout,account}/*.twig'>
    <operation error="skip">
      <search><![CDATA[
        <ul class="breadcrumb">
        {% for breadcrumb in breadcrumbs %}
            <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li>
        {% endfor %}
    </ul>
            ]]></search>
      <add position="replace"><![CDATA[
        <ul class="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
          {% for key,breadcrumb in breadcrumbs %}
          <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
          <a itemscope itemtype="https://schema.org/Thing" itemprop="item" href="{{ breadcrumb['href'] }}">
            <span itemprop="name">{{ breadcrumb['text'] }}</span>
          </a>
          <meta itemprop="position" content="{{ key+1 }}" />
          </li>
          {% endfor %}
        </ul>
      ]]></add>
    </operation>
  </file>
</modification>

Однако вместо замены целого куска кода, заменяется только одна строка. Что необходимо изменить, чтоб хорошо работал такой модификатор?

Изменено пользователем Igor112

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<search> может работать только с одной строкой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перед тем как писать 

 <code>Breadcrumblist from Igor</code>
  <name><![CDATA[Microdata BreadcrumbList OC 3.0.x]]></name>

надо ознакомиться хотя бы к синтаксисом ocmod

Изменено пользователем spectre

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

гуглишь ocmod example и делаешь по примере. попутно читая описание и рекомендации

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 часов назад, spectre сказал:

Перед тем как писать 


 <code>Breadcrumblist from Igor</code>
  <name><![CDATA[Microdata BreadcrumbList OC 3.0.x]]></name>

надо ознакомиться хотя бы к синтаксисом ocmod

А что не так?

 

13 часов назад, Tom сказал:

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

Спасибо, исправил, всё заработало:D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.