0

Многострочный поиск в OCMOD

Многострочный поиск в OCMOD

Иногда при написании модификаторов для Опенкарт возникает необходимость поиска многострочных маркеров для более высокой точности.

Фикс добавляет поддержку атрибута 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