Как объединить два modx?
Как объединить два modx example.com sub.example.com?
Установил на оба сайта, поменял в sub.example.com адреса базы данных на основной. Нашел в документации пост о настройках контекста, отредактировал за исключением последнего пункта(я так понимаю документация не соответствует нынешней версии).
И результат готов на половину, на sub.example.com всё отображается кроме стилей и картинок. А на example.com в менеджере не подтягивается на «2web» стартовая страница. А когда создаю новую, то она идет по стандартному адресу родителя: example.com/page.
Установил на оба сайта, поменял в sub.example.com адреса базы данных на основной. Нашел в документации пост о настройках контекста, отредактировал за исключением последнего пункта(я так понимаю документация не соответствует нынешней версии).
И результат готов на половину, на sub.example.com всё отображается кроме стилей и картинок. А на example.com в менеджере не подтягивается на «2web» стартовая страница. А когда создаю новую, то она идет по стандартному адресу родителя: example.com/page.
Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
У каждого контекста свои настройки, их можно использовать в шаблоне (те же контакты в шапке и т.п.).
Бонусом получишь обновление движка и пакетов на оба сайта, 1 раз вместо двух создашь любимые TV (обложка для страницы или галерея), 1 раз купишь платный компонент и так далее. На мой взгляд например, совсем не дичь, для этого (в числе прочего) контексты и придуманы в MODX!..
Я просто посчитал, что если я подключу БД к основному сайту, это должно упростить вывод информации. Но понял что ошибся в своих рассуждениях.
Создай второй контекст, создай плагин (в элементах в админке) назови например ContextSwitch и подключи его на OnHandleRequest вот код:
Далее в новом контексте укажи настройку (правый клик в админке → редактировать контекст) и добавь туда 2 системные настройки:
1. site_start (укажи id страницы в новом контексте, её нужно там создать и опубликовать) и это будет главная страница!
2. http_host (полный адрес url без https и слешей, например sub.example.com)
И всё должно заработать!
НО! Если у тебя и правда из двух установленных MODX в разных папках, у которых в core/config/config.inc.php указана одна и та же база с одинаковым значением $table_prefix — то я не знаю что тебе посоветовать, кроме как не пользоваться одной из папок, а настроить работу поддоменов через контексты, как указал выше.
Дело в том, что в MODX используется файловый кэш, в т.ч. системных настроек и т.п. В момент, когда ты очищаешь кэш, он удаляется и папки core/cache/* и как раз из-за этого могут быть проблемы. Наверное, если отключить вообще весь кэш, то всё будет работать, а почему бы и нет (в познавательных-то целях). Данные все в БД. Отключай короче все кэши, чтобы ничего не записывалось на диск, а всё было в Базе Данных… Но опять же, всякие фотографии, скрипты и стили для фронтенда, они же лежат на диске. При установке любого компонента, его файлы кладутся в папку с установленным MODX, а информация записывается в БД. Из другой папки будет видно инфу, а файлов нет — скорее всего будут ошибки.
Предполагаю, что комфортная работа не возможна в таких случаях. Но не уверен, возможно в кейсах, когда выносится core из корневой папки, можно использовать его в нескольких установках, но так я ни разу не делал, а в MODX3 такую возможность убрали, так что уже и не представится возможности.
Короче, используй 1 установленный движок, и контексты :)