2015-12-29 5 views
0

У меня есть все мои данные, которые использует внешнее программное обеспечение в таблице «modx_site_content». Все замечательно - мы просматриваем/добавляем/редактируем/удаляем данные в одну таблицу, которая используется MODx и из двух других скриптов PHP/JS. Но я хотел бы иметь другую таблицу, которую используют MODx и другие скрипты. Возможно ли, что я создаю новый контекст, который будет использовать, например, таблицу «modx_site_content2»?Отдельные контексты MODx, хранящие данные в отдельных таблицах из таблицы modx_site_content

+0

Это невозможно. – Vasis

+0

Да, к сожалению, невозможно: http://forums.modx.com/thread/99185/separate-contexts-storing-data-in-separate-tables-from-modx-site-content-table –

ответ

1

Возможно, но это не очень хороший способ сделать это. Во-первых, для разработки того, как это работает, потребуется довольно много плагинов. Я бы попытался сделать это (у меня нет исполняемого экземпляра). И требует немного возиться с php и sql.

Создайте плагин для onLoadWebDocument, проверьте, что представляет собой контекстный ключ из ключа $ modx-> context-> (или что-то в этом направлении) на плагине, у которого есть объект $ modx-> resource, который вы действительно можете переопределить.

Итак, загрузите ресурс с URL-адресом (вам нужно разбить его), который будет соответствовать псевдониму ресурса с использованием SQL-запроса. У вас есть часть php, например следующая:

$res = $modx->query('your_modResource_clone', 214); // 214 is the resource id and the object needs to inherit modResource 
$obj = new modResource($modx); 
$obj->fromArray($res->toArray()); // Could be that you can actually assign the object directly to line below. 
$modx->resource = $obj; 

Это фактически должно работать, поскольку объект только загружен и не отображается. Код может быть отключен (например, у него нет запущенных экземпляров). Также есть вероятность, что modx не будет кэшировать его. Должно быть, я не уверен сейчас. Обратите внимание, что вам также нужно разобрать URL-адрес, чтобы получить правильный идентификатор, что сделает его более жестким. Но основная концепция есть. Надеюсь,

 Смежные вопросы

  • Нет связанных вопросов^_^