Подключится к modx в другом modx сайте
Приветствую!
Проблема такая, вернее вопрос давно был в моей голове, и вот пришло время практики.
есть два сайта на modx
1. Каталог site1.ru
2. Каталог с ценами site2.ru
site1.ru заполнен полностью, с ним все ок.
Т.к. каталоги полностью совпадают, то явно нет смысла копировать весь сайт.
Я сидел и размышлял как решить данные проблему, чтобы заполнялось site1.ru, а выводилось и на site1.ru и на site2.ru.
Понятное дело придется писать маршрутизацию по урл, что-то типа виртуальных страниц и т.п. на site2.ru.
Вот и возник вопрос как подключится из сайта site2.ru к site1.ru использовать API site1.ru, чтобы получать данные, ресурсы чанки и т.п. на другом сайте т.е. работать с классом modx(site1.ru) и при этом не перебивая класс modx(site2.ru)
Просто подключится получается, но если допустим подключится подобным образом в сниппете site2, понятно будет ошибка Cannot declare class modSystemEvent… т.к. классы уже объявлены
Просто сделать это в контекстах не получится, т.к. контексты заточены на регионы.
Подскажите пожалуйста, может кто то делал подобное.
Проблема такая, вернее вопрос давно был в моей голове, и вот пришло время практики.
есть два сайта на modx
1. Каталог site1.ru
2. Каталог с ценами site2.ru
site1.ru заполнен полностью, с ним все ок.
Т.к. каталоги полностью совпадают, то явно нет смысла копировать весь сайт.
Я сидел и размышлял как решить данные проблему, чтобы заполнялось site1.ru, а выводилось и на site1.ru и на site2.ru.
Понятное дело придется писать маршрутизацию по урл, что-то типа виртуальных страниц и т.п. на site2.ru.
Вот и возник вопрос как подключится из сайта site2.ru к site1.ru использовать API site1.ru, чтобы получать данные, ресурсы чанки и т.п. на другом сайте т.е. работать с классом modx(site1.ru) и при этом не перебивая класс modx(site2.ru)
Просто подключится получается, но если допустим подключится подобным образом в сниппете site2, понятно будет ошибка Cannot declare class modSystemEvent… т.к. классы уже объявлены
$path = '/var/www/www-root/data/www/site1.ru/';
require_once $path.'config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$site1 = new modX();
if ($res = $site1 ->getObject('modResource', 1)) {
print_r($res->toArray());
}
Просто сделать это в контекстах не получится, т.к. контексты заточены на регионы.
Подскажите пожалуйста, может кто то делал подобное.
Комментарии: 3
А что мешает пару контекстов заточить не под регионы а под сайты?
Вся структура изначально построена под регионы.
Про контексты решение я понимаю и знаю, много раз реализовывал и писал плагины, снипетты и на этом сайте, но в данном случае надо как то создать два сайта(а в будущем может и более) которые будут плясать от одного сайта-каталога. Т.е брать данные с одного единого каталога, а уже на конечных сайтах дописывать что-то(но это уже вторичный вопрос).
Мне больше интересна сама идея и возможно ли такое, конечно же в примерах лучше всего
Про контексты решение я понимаю и знаю, много раз реализовывал и писал плагины, снипетты и на этом сайте, но в данном случае надо как то создать два сайта(а в будущем может и более) которые будут плясать от одного сайта-каталога. Т.е брать данные с одного единого каталога, а уже на конечных сайтах дописывать что-то(но это уже вторичный вопрос).
Мне больше интересна сама идея и возможно ли такое, конечно же в примерах лучше всего
Возможно что угодно я правда вижу такой вариант
Дублировать таблицу с ресурсами в другую базу данных (при обновлении ресурсов и создании новых или по cron) а к ней подключаем чистый modx и пишем на нем новые контексты и тд.
Дублировать таблицу с ресурсами в другую базу данных (при обновлении ресурсов и создании новых или по cron) а к ней подключаем чистый modx и пишем на нем новые контексты и тд.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.