Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Автозамена

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

image.png.23562b1eb7ea72ce8e719f28c74ef092.png

 

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

%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"

image.thumb.png.7c8697a9a1a3ca12a9f03c4c9f5169de.png

 

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

image.thumb.png.5c374a87d0f11e98ba4b6f687e85d98d.png

 

Вывод этого блока на сайте выглядит так:

image.png.e53a4675fd092b6ac416e67ab0da903e.png

 

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

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

image.thumb.png.8ea41d70f83ed2807d7297dc499b86bc.png

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

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

 

Делаем замену "болванок" через str_replace()

image.thumb.png.855fa8199d0fe645b6eb9d69c44abf8f.png

 

Код:

$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']);

 

Итог:

image.png.4073acc5c0dd1bc9722cf74e7a471097.png

 

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

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

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

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

 

image.png


Comments

There are no comments to display.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.