Контроллеры при createResource
Добрый день. Интересует необходимость использования контроллеров при создании нового ресурса(при использовании встроенной страницы-шаблона для создания ресурса в modx, но для своего класса и соответственно таблицы).
Есть подгрузка страницы в ExtJS(для примера взял код из minishop2, изменив class_key для себя). Данное действие:
Для создания нового ресурса и передачи его в нужную мне таблицу:
Есть подгрузка страницы в ExtJS(для примера взял код из minishop2, изменив class_key для себя). Данное действие:
var createPage = MODx.action ? MODx.action['resource/create'] : 'resource/create';
MODx.loadPage(createPage, 'class_key=dbCard&parent='+MODx.request.id+'&context_key='+MODx.ctx);
происходит при нажатии на кнопку «создать ресурс». В результате открывается страница для создания ресурса. (Параметр MODx.request.id как я понимаю получает значение только в случае, если у нового документа указан предок, а параметр MODx.ctx задаётся если не ошибаюсь в классе для объекта, который необходимо создать.)Для создания нового ресурса и передачи его в нужную мне таблицу:
- Нужно ли создать файл в assets/[componentName]/js/mgr/sections? И если нужно, то как изменять секцию home на новую секцию по нажатию кнопки «Создать ресурс» ?).
- Нужно ли создавать файл в core/components/[componentName]/controllers/ ?
- Если нужно и первое и второе, то как их связать?
- Как связать новый документ с определенным обработчиком? (Взаимодействие всплывающего окна с процессором, таблицы Grid с процессором понятны. Не понятно лишь где должен быть ExtJS-файл страницы для создания нового ресурса?)
Комментарии: 1
Самый правильный способ — сделать так же, как и miniShop2, то есть CRC. Вот подробная инструкция.
Если коротко, то ты указываешь свой class_key, и MODX для него загружает твой контроллер, а там ты уже можешь делать со страницей что угодно.
Если коротко, то ты указываешь свой class_key, и MODX для него загружает твой контроллер, а там ты уже можешь делать со страницей что угодно.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.