2013-08-14 3 views
1

Я создал пользовательский компонент, который используется для реализации пользовательских функций электронной торговли. Администратор может видеть и управлять всеми заказами из бэкэнд. То, что нужно, - всякий раз, когда администратор удаляет/отменяет любую почту заказа, отправляется на этот идентификатор электронной почты клиента. Я хочу знать, как я могу переопределить или добавить свой код к почте методу deleteelist, чтобы он отправлял почту, когда администратор удаляет только запись заказа.Как переопределить Jtoolbarhelper :: метод удаления?

ответ

2

Как сказано в документации, то JToolbarHelper::deleteList

/** 
* JToolbarHelper/deleteList 
* Writes a common 'delete' button for a list of records. 
* 
* @param string $msg Postscript for the 'are you sure' message. 
* @param string $task An override for the task. 
* @param string $alt An override for the alt text. 
* 
* @return void 
* 
* @since 1.5 
*/ 

Таким образом, у вас есть несколько вариантов:

  1. Override remove задачу контроллера либо перекрывая remove метод:

    class MycomponentControllerMycontroller extends JControllerAdmin{ 
    
        public function remove() { 
         //stuff goes here 
        } 
    } 
    
  2. Re gister remove задача в продолжении

    class MycomponentControllerMycontroller extends JControllerAdmin{ 
        public function __construct($config = array()) 
        { 
         parent::__construct($config); 
         //... 
         $this->registerTask('remove', 'myMethod'); 
    
        } 
    
        public function myMethod() { 
         //stuff goes here 
        } 
    } 
    
  3. обеспечивает $task аргумент, чтобы переопределить remove задачи. Создание

    панели инструментов кнопка:

    JToolbarHelper::deleteList('', 'mycontroller.myMethod', 'JTOOLBAR_EMPTY_TRASH'); 
    

    и контроллер:

    class MycomponentControllerMycontroller extends JControllerAdmin{ 
    
        public function myMethod() { 
         //stuff goes here 
        } 
    } 
    

контроллер в данном примере должен быть расположен в в administrator/components/mycomponent/controllers/mycontroller.

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