StandartEdit: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 4: Строка 4:
для редактиорования каждого элемента создаём кнопку "Редактировать" и в качестве действия  
для редактиорования каждого элемента создаём кнопку "Редактировать" и в качестве действия  


'''onclick="stEdit(<имя объекта>,<ID объекта>)"'''
'''onclick="stEdit(<имя объекта>,<ID объекта>,<контроллер(если не текущий)>, <плагин(если не текущий)>)"'''


функция JS вызовет текущий [[плагин]], [[контроллер]] с [[экшн|экшном]] seeditobject
функция JS вызовет текущий [[плагин]], [[контроллер]] с [[экшн|экшном]] seeditobject

Версия от 22:06, 9 февраля 2013

StandartEdit это схема редактирования стандартных объектов

Например создаём страницу с таблицей, сожеращей определённые элементы, стандартная ситуация, не так ли? для редактиорования каждого элемента создаём кнопку "Редактировать" и в качестве действия

onclick="stEdit(<имя объекта>,<ID объекта>,<контроллер(если не текущий)>, <плагин(если не текущий)>)"

функция JS вызовет текущий плагин, контроллер с экшном seeditobject

так как при редактировании у нас вызывается один и тот же экшн то в схему внедрена дополнительная проверка прав доступа для корректной работы нам необходимо добавить ресурс, выглядящий следующим образом

<текущий плагин>/<текущий контроллер>/seedit<имя объекта>

Экшн steditobject, находящийся в CmsBaseController в свою очередь возвращает форму редактирования элемента, которую он берёт из папки

/<ПАПКА ПЛАГИНА>/views/seedit/<имя объекта>.tpl

или принимает данные для редактирования(в случае отправки запроса методом POST).

При сохранение данных об объекте вызываются по очереди методы текущего контроллера и его модели 'seedit<Имя объекта>'(seeditOrg) в случае если они определены. методу модели в качестве аргумента передаётся массив с параметрами запроса