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

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

Арман
Арман
Ну я вроде уже определился пообщавшись здесь, что мне не нужен SmartRouting (единственное у него в документации написано Cache the http_host/base_url => context settings to avoid database lookups on page load. Но я думаю это не критичный момент и можно обойтись без этого). Скорее всего воспользуюсь вариантом Артура Шевченко или вариантом из официальной документации. Я считаю вариант Артура хорош, особенно если будет много доменов и в любой момент нужно будет создавать и удалить их. Так как у меня на проекте всего 2 домена и больше не будет, мне так же подходит вариант из документации. Всем спасибо)
Арман
Арман
Сегодня началась новая спам атака на сайт. Накидали за день номеров 200 на почту через assets/components/FetchIt/action.php. Этот код помог (стоит FetchIt). Единственное что не пойму почему не сработал файл .htaccess который я вставил в assets/components/FetchIt и прописал там
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?vision-hotel.ru [NC]
RewriteRule \.* - [F]
Похоже что заголовок Referer тоже подделывали при спаме.

SendIt пока что не хочется ставить. В общем и целом нравится FetchIt так же там готовая интеграция с AmoCRM которую легко и быстро настроил через FetchIt sucsess.

Надеюсь автор допилит этот момент из коробки. А так всем спасибо)
Александр Мельник
Александр Мельник
Мне кажется вы не совсем правы, предлагая автору инструменты для многоязычности и ссылку, на которую опять-таки инструкция по многоязычности. Это только собьет его с толку.
Автор пишет
БЕЗ поддоменов и без определения контекста с помощью папок таких как site.ru/site1 и site.ru/site2.
а вы даете ссылку на инструкцию, которая начинается со слов
Русская версия сайта — site.ru/
Английская версия — site.ru/en/
Автор пишет, что
Сайт отличаются контентом и не только, то есть один сайт НЕ ЯВЛЯЕТСЯ переводом на другой язык второго сайта.
А в вашей инструкции как раз речь о том, что babel позволяет создать перевод для существующей страницы.
Василий Наумкин
Василий Наумкин
Арман
Арман
Всё читаю и пытаюсь вникнуть) Просто нет опыта и хочется разобраться в вопросе не поверхностно. Я ищу лёгкий путь в самой настройке но иду сложным путем в плане того что хочется собрать побольше информации.
Pandemic
Pandemic
Максим
Максим
А можно подробнее? Каким образом можно будет избежать конфликтов, даже если все дополнения будут устанавливаться через Composer? Если МоёДополнение, например, использует зависимость версии 1, а ТвоёДополнение требует версию 5, где половина методов из версии 1 отсутствует, Composer как-то будет устанавливать 2 версии одной зависимости? И как потом этим пользоваться?
Арман
Арман
А что насчёт реализации описанной на оф. сайте docs.modx.com/3.x/ru/building-sites/contexts/virtual-host? В плане удобства в каком-то плане мне нравится ваш код, не нужно файлы копировать и редактировать каждый раз при создании домена. Но мне так же нравится вариант представленный в документации так как он имеет свой .htaccess файл. Что вы думаете об это реализации?
Артур Шевченко
Артур Шевченко
1. Все домены должны ссылаться на одну папку.
2. Каждый контекст должен иметь настройку http_host и base_url.
3. Нужно написать плагин который будет переключать контекст в зависимости от домена
<?php
// Работаем только на фронтенде
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

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

if($ctx = $modx->getObject('modContextSetting', array('key' => 'http_host', 'value' => $host)) ){
    $ctx_key = $ctx->get('context_key');
    if($ctx_key != 'web'){
        $modx->switchContext($ctx_key);
    }
}
Всё. Сайты готовы.
Александр
Александр
Дело оказалось в выключенных Дружественных URL. Т.е. совсем голая система и сразу накатывал на неё дополнение. Логично, но неочевидно, что для использования админки, для дополнения, нужно включать настройку, предназначенную для фронтенда.
А так, выглядит, конечно, мощно! ? Открывает большие возможности, которые с ExtJS казались очень сложными.
Василий Наумкин
Василий Наумкин
Арман
Арман
Раньше с этим никогда не работал. Инструкции в интернете вроде как немного отличаются друг от друга + возможно нужно учесть какие-то нюансы о которых я сейчас не знаю. Поэтому искал плагин который это всё сделает + будет поддерживаться
Арман
Арман
Александр
Александр
Установил на свежий MODX 3.0.4, всё по инструкции, попробовал дважы, PHP 8.1. При заходе на страницу расширения ошибка, пытается обратиться по пути site.test/mmx-forms/mgr/forms?limit=20&page=1&sort=id&dir=desc, похоже чего-то в пути не хватает.
Артур Шевченко
Артур Шевченко
А ты не ищешь лёгких путей, да? Modx предоставляет прекрасный инструмент для решения подобных задач — контексты. Все дополнения будут работать одинаково хорошо во всех контекстах.