Автозамена
Модуль может делать автозамену в мета-тегах title, keywords, description, если включить соответствующую опцию в настройках модуля:
После этого можно добавлять в соответствующие поля болванки, которые при выводе заменяются на соответствующие значения:
%CITY% - город, %CITY_GC% - город в родительном падеже (кого? чего? нет ...), %CITY_PC% - город в предложном падеже (О ком? О чём?)
%ZONE% - регион, %ZONE_GC% - регион в родительном падеже, %ZONE_PC% - регион в предложном падеже
%COUNTRY% - страна, %COUNTRY_GC% - страна в родительном падеже, %COUNTRY_PC% - страна в предложном падеже
%MSG_key% - геосообщение с ключом key, например, %MSG_phone% (ключи задаются в админке модуля на вкладке "Геосообщения")
Будем называть их "стандартные болванки".
Автозамена в произвольном блоке
Автозамены болванок не работают на всем сайте, поэтому если вставить %CITY% в произвольном месте, то замены не произойдет. Для шаблонов tpl и twig нужно вставлять значения напрямую https://opencartforum.com/files/tutorials/163-{%3F}/.
Для блоков, значение которых задается через админку, нужно делать замену в коде. Потребуются навыки программирования и знание структуры OpenCart.
В качестве примера, рассмотрим стандартный модуль OpenCart "Текстовый блок - HTML"
Добавим в тест болванки, в принципе, это может быть любая строка, я буду использовать стандартные болванки:
Вывод этого блока на сайте выглядит так:
За вывод этого блока отвечает контроллер catalog/controller/extension/module/html.php.
Находим нужные нам строчки:
$data['heading_title'] - заголовок
$data['html'] - содержимое блока
Делаем замену "болванок" через str_replace()
Код:
$data['heading_title'] = str_replace('%CITY%', $this->progroman_citymanager->getCityName(), $data['heading_title']); $data['html'] = str_replace( ['%COUNTRY%', '%ZONE%', '%CITY%', '%MSG_phone%'], [$this->progroman_citymanager->getCountryName(), $this->progroman_citymanager->getZoneName(), $this->progroman_citymanager->getCityName(), $this->progroman_citymanager->getMessage('phone')], $data['html'] );
Если используются стандартные болванки, можно обойтись методом модуля replaceBlanks(), который заменит их на соответствующие значения:
$data['heading_title'] = $this->progroman_citymanager->replaceBlanks($data['heading_title']); $data['html'] = $this->progroman_citymanager->replaceBlanks($data['html']);
Итог:
Не рекомендуется править код, если у вас нет навыков программирования.
Автор не несет ответственности за правки кода, сделанные вами, все изменения вы делаете на свой страх и риск.
Ошибки, связанные с такими правками, не считаются ошибками модуля CityMarager, автор в праве отказать в техподдержке.
Также автор не обязан объяснять в какой файл, строчку и т.д. вставлять код.