Skip to content

v3.9.9beta

Compare
Choose a tag to compare
@adamasantares adamasantares released this 04 Apr 05:18
2bd179d

Бэта версия! Могут быть ошибки после установки. Рекомендум делать бэкап сайта или сначала проверять на дубликате сайта.

  1. Изменился namespace

// use activeprogramming\mcs\plugin\helpers\McsData; - старый namespace!
use joomx\mcs\plugin\helpers\McsData;

  1. Появился способ получить текст в соответствии с текущим городом прямо в коде.
use joomx\mcs\plugin\helpers\McsContentHelper;
$content = McsContentHelper::getMcsTagValue('[mcs-43]');
// или
$content = McsContentHelper::getMcsTagValue('mcs-43');
// или
$content = McsContentHelper::getMcsTagValue(43);
  1. Появился еще одни способ переключать блоки по городам!

А именно, на уровне классов у тега (правда без отрицаний).

Например:

<div class="mcs_case_Омск"> Омск </div>
или 
<div class="mcs_case_Москва_Новосибирск"> Москва и Новосибирск </div>
или
<div class="mcs_case_Нижний__Новгород"> Нижний Новгород </div>
Если в названии города два слова разделенных пробелом, то пробел нужно заменить двумя нижними подчеркиваниями

Этот метод очень выручает при использовании PageBuilder.

  1. Появился новый, пока экспериментальный метод подмены контента: подмена данных после чтения из БД.
    То есть система делает запрос в базу, что-то читает, а модуль после этого перехватывает хуком и заменяет найденные совпадения на значения, соответствующие для указанных городов.

Для конфигурирования такой подмены нужно создать в корне сайта файл 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] в конце названия)