Многострочный поиск в OCMOD
08 дек.


Иногда при написании модификаторов для Опенкарт возникает необходимость поиска многострочных маркеров для более высокой точности.
Фикс добавляет поддержку атрибута qoute, с которым используется функция preg_quote(). Изменения производятся в файле admin/controller/extension/modification.php.
Нужно найти следующий фрагмент кода:
$search = trim($operation->getElementsByTagName('search')->item(0)->textContent); $limit = $operation->getElementsByTagName('search')->item(0)->getAttribute('limit'); $replace = trim($operation->getElementsByTagName('add')->item(0)->textContent);
И заменить его на этот (добавилась строка):
$search = $operation->getElementsByTagName('search')->item(0)->textContent; $limit = $operation->getElementsByTagName('search')->item(0)->getAttribute('limit'); $quote = $operation->getElementsByTagName('search')->item(0)->getAttribute('quote'); $replace = $operation->getElementsByTagName('add')->item(0)->textContent;
Далее после блока:
// Limit if (!$limit) { $limit = -1; }
Добавить этот:
// Quote if ($quote == 'true') { $search = preg_quote($search); }
Вот и все! Не забудьте сохранить файл и очистить кеш.
Решение найдено на opencartjazz.com
Оставить комментарий