Комментарии

Функции контроллера в компоненте Weblinks (Часть 4)
( 0 Голосов )

В данном примере пользователь устанавливает флажок рядом с названиями одного или более элемента веб-ссылок и щелкает на пиктограмме корзины (кнопке Trash), находящейся на панели инструментов экрана Weblinks Manager. Ниже приведены главные составляющие действия в данном примере.

Пример 4. Пользователь удаляет некоторые веб-ссылки

  • URL: administrator/index.php?option=com_weblinks&view=weblinks.
  • Задача: weblinks.trash.
  • Контроллер: класса WeblinksControllerWeblink из файла controllers/weblink.php.
  • Выполняемый метод контроллера: JControllerAdmin->publish ().
  • Переадресация контроллера: administrator/index.php?option=com_weblinks&view=weblinks.

В данном примере URL просто возвращает обратно к экрану Weblinks Manager. Задача weblinks . trash исходит из сценария JavaScript, который запускается на выполнение из атрибута onclick в элементе привязки а для разметки пиктограммы корзины на панели инструментов. Ниже приведен код разметки этого атрибута упомянутым сценарием.

onclick="javascript:
if (document.adminForm.boxchecked.value==0){
alert('Please first make a selection from the list'); } else {
Joomla.submitbutton('weblinks.trash') }"

Панели инструментов в экранных формах административной части веб-сайта предоставляются административным модулем mod_toolbar. Код сценария JavaScript для пиктограммы корзины генерируется автоматически в классе JButtonStandard из файла libraries/joomla/html/toolbar/button/standard.php. Этот сценарий действует таким же образом, как и сценарий JavaScript из предыдущего примера, за исключением того, что в нем сначала проверяется выбор хотя бы одного элемента для удаления. И в этом случае в элемент task разметки формы вводится значение "weblinks .trash", после чего форма передается на обработку.

Первой частью названия задачи является weblinks, и поэтому класс соответствующего контроллера называется WeblinksControllerWeblinks. И хотя второй частью названия задачи является trash, на самом деле выполняется метод publish () из класса этого контроллера. Каким же образом из задачи trash вытекает вызов метода publish ().


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости