Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 118 комментариев

Дима Касаткин
Дима Касаткин
Это может быть очень удобно, если шаблоны одинаковые либо похожи, контент пересекается (например компания и её филиал, или диффузный бренд или просто раздел вынести на поддомен company.com и blog.company.com нужно сделать по тем или иным причинам.

У каждого контекста свои настройки, их можно использовать в шаблоне (те же контакты в шапке и т.п.).

Бонусом получишь обновление движка и пакетов на оба сайта, 1 раз вместо двух создашь любимые TV (обложка для страницы или галерея), 1 раз купишь платный компонент и так далее. На мой взгляд например, совсем не дичь, для этого (в числе прочего) контексты и придуманы в MODX!..
Дима Касаткин
Дима Касаткин
Запустит довольно просто, как раз этим занимался сейчас :) решил и здесь написать:

Создай второй контекст, создай плагин (в элементах в админке) назови например ContextSwitch и подключи его на OnHandleRequest вот код:
<?php
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

// Определяем запрашиваемый хост
$host = $_SERVER['HTTP_HOST'];

// Выбираем контекст с настройкой http_host
$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value' => $host));
$q->select('context_key');

if ($q->prepare() && $q->stmt->execute()) {
    // Получаем ключ контекста
    if ($context = $q->stmt->fetch(PDO::FETCH_COLUMN)) {
        // Web инициализируется в index.php - на него переключаться не нужно
        if ($context != 'web') {
            $modx->switchContext($context);
        }
    }
}
Далее в новом контексте укажи настройку (правый клик в админке → редактировать контекст) и добавь туда 2 системные настройки:
1. site_start (укажи id страницы в новом контексте, её нужно там создать и опубликовать) и это будет главная страница!
2. http_host (полный адрес url без https и слешей, например sub.example.com)

И всё должно заработать!
Вячеслав
Вячеслав
Всем привет @Артур Шевченко в виджете СДЕК отображается стоимость доставки например 185р мне нужно, чтобы показывалось 250р, как это реализовать? Через админку минишоп2(Доп. стоимость) не работает и на тестовом сайте при оформлении заказа доставка не плюсуется к общей сумме(
Дима Касаткин
Дима Касаткин
Дима Касаткин
Дима Касаткин
Насколько я помню, не во всех последних релизах была проблема со старой версией PHP (с 7й), а в 2.8.6 и 3.0.4 (предыдущих на текущий момент релизах из ветки 2.х и 3.х).

Обновляйте на крайнюю версию в пределах своей мажорной ветки (ну и с большой аккуратностью и обязательным бекапом — с 2.х на 3.х), несовместимость обработчика изображений с PHP7 исправили в MODX 2.8.7 и в 3.0.5!
Владимир
Владимир
Пришли пожалуйста пример того плагина. Для забирания даты из профиля я сделал сниппет. Точнее он выдает либо true либо false в зависимости от того надо ли делать скидку. А вот как сделать саму скидку пока не додумался.