Перейти к содержанию
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 и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.