v3.9.9beta
Бэта версия! Могут быть ошибки после установки. Рекомендум делать бэкап сайта или сначала проверять на дубликате сайта.
- Изменился namespace
// use activeprogramming\mcs\plugin\helpers\McsData; - старый namespace!
use joomx\mcs\plugin\helpers\McsData;
- Появился способ получить текст в соответствии с текущим городом прямо в коде.
use joomx\mcs\plugin\helpers\McsContentHelper;
$content = McsContentHelper::getMcsTagValue('[mcs-43]');
// или
$content = McsContentHelper::getMcsTagValue('mcs-43');
// или
$content = McsContentHelper::getMcsTagValue(43);
- Появился еще одни способ переключать блоки по городам!
А именно, на уровне классов у тега (правда без отрицаний).
Например:
<div class="mcs_case_Омск"> Омск </div>
или
<div class="mcs_case_Москва_Новосибирск"> Москва и Новосибирск </div>
или
<div class="mcs_case_Нижний__Новгород"> Нижний Новгород </div>
Если в названии города два слова разделенных пробелом, то пробел нужно заменить двумя нижними подчеркиваниями
Этот метод очень выручает при использовании PageBuilder.
- Появился новый, пока экспериментальный метод подмены контента: подмена данных после чтения из БД.
То есть система делает запрос в базу, что-то читает, а модуль после этого перехватывает хуком и заменяет найденные совпадения на значения, соответствующие для указанных городов.
Для конфигурирования такой подмены нужно создать в корне сайта файл mcs-experimental.php
<?php
return [
'database' => [
'any' => [ // вместо 'any' позднее планируется сделать указание названий таблиц, из которых нужно делать подмену. Пока что подменяем по всем данным вообще.
[
'city' => [10, 45, 34], // указываем перечень городов
'original' => 'mail@mail.com', // какую строку ищем (отслеживаем). Должно быть 100% совпадение.
'new_value' => 'ignat@website.com' // на что подменяем.
]
],
],
'configuration' => [ // подмена значений из файла конфигурации по имени параметра. Ниже приведена подмена почты для отправки писем из формы отбратной связи.
'mailfrom' => [
[
'city' => [10, 45, 34], // правило для подмены по ID городов
'new_value' => 'ignat@sebsite.com'
],
[
'province' => [ 45, 23, 5 ], // регион
'new_value' => 'vlad@sebsite.com'
],
[
'country' => [ 1 ], // страна
'new_value' => 'dima@sebsite.com'
],
]
],
];
Чтобы этот метод заработал, нужно в конфигурации сайта configuration.php поменять название драйвера базы данных
public $dbtype = 'mysqli'; // стандартный вариант
public $dbtype = 'mysqlih'; // экспериментальный вариант (добавляем букву "h" [hook] в конце названия)