StandartEdit: различия между версиями
V0yager (обсуждение | вклад) (Новая страница: «StandartEdit это схема редактирования стандартных объектов Например создаём страницу с табл…») |
V0yager (обсуждение | вклад) Нет описания правки |
||
Строка 6: | Строка 6: | ||
'''onclick="stEdit(<имя объекта>,<ID объекта>)"''' | '''onclick="stEdit(<имя объекта>,<ID объекта>)"''' | ||
функция JS вызовет текущий [[плагин]], [[контроллер]] с [[экшн|экшном]] | функция JS вызовет текущий [[плагин]], [[контроллер]] с [[экшн|экшном]] seeditobject | ||
* Необходима активация [[Транспорт переменных в среду JavaScript|транспорта переменных в среду JavaScript]] | * Необходима активация [[Транспорт переменных в среду JavaScript|транспорта переменных в среду JavaScript]] | ||
Строка 13: | Строка 13: | ||
для корректной работы нам необходимо добавить [[ресурс контроля прав|ресурс]], выглядящий следующим образом | для корректной работы нам необходимо добавить [[ресурс контроля прав|ресурс]], выглядящий следующим образом | ||
'''<текущий [[плагин]]>/<текущий [[контроллер]]>/ | '''<текущий [[плагин]]>/<текущий [[контроллер]]>/seedit<имя объекта>''' | ||
Экшн steditobject, находящийся в [[CmsBaseController]] в свою очередь возвращает форму редактирования элемента, которую он берёт из папки | |||
'''/<ПАПКА [[ПЛАГИН|ПЛАГИНА]]>/views/seedit/<имя объекта>.tpl''' | |||
или принимает данные для редактирования(в случае отправки запроса методом POST). | |||
При сохранение данных об объекте вызываются по очереди методы текущего [[контроллер|контроллера]] и его [[модель|модели]] 'seedit<Имя объекта>'(seeditOrg) в случае если они определены. | |||
методу модели в качестве аргумента передаётся массив с [[параметры запроса|параметрами запроса]] |
Версия от 13:27, 8 февраля 2013
StandartEdit это схема редактирования стандартных объектов
Например создаём страницу с таблицей, сожеращей определённые элементы, стандартная ситуация, не так ли? для редактиорования каждого элемента создаём кнопку "Редактировать" и в качестве действия
onclick="stEdit(<имя объекта>,<ID объекта>)"
функция JS вызовет текущий плагин, контроллер с экшном seeditobject
- Необходима активация транспорта переменных в среду JavaScript
так как при редактировании у нас вызывается один и тот же экшн то в схему внедрена дополнительная проверка прав доступа для корректной работы нам необходимо добавить ресурс, выглядящий следующим образом
<текущий плагин>/<текущий контроллер>/seedit<имя объекта>
Экшн steditobject, находящийся в CmsBaseController в свою очередь возвращает форму редактирования элемента, которую он берёт из папки
/<ПАПКА ПЛАГИНА>/views/seedit/<имя объекта>.tpl
или принимает данные для редактирования(в случае отправки запроса методом POST).
При сохранение данных об объекте вызываются по очереди методы текущего контроллера и его модели 'seedit<Имя объекта>'(seeditOrg) в случае если они определены. методу модели в качестве аргумента передаётся массив с параметрами запроса