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

  

Автозамена

Модуль может делать автозамену в мета-тегах title, keywords, description, если включить соответствующую опцию в настройках модуля:

image.png.23562b1eb7ea72ce8e719f28c74ef092.png.f2282b3cbbabe93b9b82e80189aefa3f.png

 

После этого можно добавлять в соответствующие поля болванки, которые при выводе заменяются на соответствующие значения:

%CITY% - город,

%CITY_GC% - город в родительном падеже (кого? чего? нет ...),

%CITY_PC% - город в предложном падеже (О ком? О чём?)

%ZONE% - регион,

%ZONE_GC% - регион в родительном падеже,

%ZONE_PC% - регион в предложном падеже,

%COUNTRY% - страна,

%COUNTRY_GC% - страна в родительном падеже,

%COUNTRY_PC% - страна в предложном падеже,

%MSG_key% - геосообщение с ключом key, например, %MSG_phone% (ключи задаются в админке модуля на вкладке "Геосообщения")

 

Будем называть их "стандартные болванки".

 

Автозамена в произвольном блоке

Автозамены болванок не работают на всем сайте, поэтому если вставить %CITY% в произвольном месте, то замены не произойдет. Для шаблонов tpl и twig нужно вставлять значения напрямую, см. "Получение данных из модуля (страна, регион, город и др.) в контроллерах и шаблонах".

Для блоков, значение которых задается через админку, нужно делать замену в коде. Потребуются навыки программирования и знание структуры OpenCart.

 

В качестве примера, рассмотрим стандартный модуль OpenCart "Текстовый блок - HTML"

image.thumb.png.7c8697a9a1a3ca12a9f03c4c9f5169de.png.6839abe429bbee1904467de446a8e5a8.png

 

Добавим в тест болванки

image.thumb.png.5c374a87d0f11e98ba4b6f687e85d98d.png.bd6eede8cc259b21139465f54b9cb235.png

 

Теперь этот блок на сайте выглядит так:

image.png.e53a4675fd092b6ac416e67ab0da903e.png.ad6c00d2b7afdc42e071806a4ead648c.png

 

За вывод этого блока отвечает контроллер catalog/controller/extension/module/html.php.

Находим нужные нам строчки:
 

$data['heading_title'] = html_entity_decode($setting['module_description'][$this->config->get('config_language_id')]['title'], ENT_QUOTES, 'UTF-8');
$data['html'] = html_entity_decode($setting['module_description'][$this->config->get('config_language_id')]['description'], ENT_QUOTES, 'UTF-8');

$data['heading_title'] - заголовок

$data['html'] - содержимое блока


Добавим после них код замены болванок, чтобы получилось так:

$data['heading_title'] = html_entity_decode($setting['module_description'][$this->config->get('config_language_id')]['title'], ENT_QUOTES, 'UTF-8');
$data['html'] = html_entity_decode($setting['module_description'][$this->config->get('config_language_id')]['description'], ENT_QUOTES, 'UTF-8');

$data['heading_title'] = $this->progroman_citymanager->replaceBlanks($data['heading_title']);
$data['html'] = $this->progroman_citymanager->replaceBlanks($data['html']);

 

Итог:

image.png.4073acc5c0dd1bc9722cf74e7a471097.png

 

Не рекомендуется править код, если у вас нет навыков программирования.

Автор не несет ответственности за правки кода, сделанные вами, все изменения вы делаете на свой страх и риск.

Ошибки, связанные с такими правками, не считаются ошибками модуля CityMarager, автор в праве отказать в техподдержке.

Также автор не обязан объяснять в какой файл, строчку и т.д. вставлять код.

 


Comments

Гость Анатолий Клаузер

Опубликовано

Здравствуйте. Сделал всё по этой инструкции (для примера прямо скопировал ваш текст.

В итоге сработали только именительные падежи и гео сообщения. А родительские и предложные  падежи не сработали не для города, не для региона, не для страны.

Версии
ocStore 3.0.3.7
ProgRoman - CityManager 8.3

Поделиться этим комментарием


Ссылка на комментарий

Добрый день! Кроме родительного, предложного и именительного можно задать падежи? Например винительный? 

Спасибо!

Поделиться этим комментарием


Ссылка на комментарий
В 25.07.2023 в 12:20, Гость Богдан сказал:

Добрый день! Кроме родительного, предложного и именительного можно задать падежи? Например винительный? 

Спасибо!

Нет

Поделиться этим комментарием


Ссылка на комментарий
Гость
Добавить комментарий...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...