代码之家  ›  专栏  ›  技术社区  ›  user1616338

Joomla 3号。自定义组件中的x覆盖按钮功能

  •  0
  • user1616338  · 技术社区  · 7 年前

    我试图覆盖joomla组件中的按钮。

    通过在控制器中添加代码,我很好地处理了save函数。

                public function save($key = null, $urlVar = null)
                    {
                        $uri = JUri::getInstance(); 
    
    
                        $requestData = JRequest::getVar('jform', array(), 'post', 'array');
                        $user =& JFactory::getUser();
                        $userId = $user->get( 'id' );
    
                        $idToUse = $requestData['id'];
    

    我想对save和close以及save和new做同样的事情,但我不知道怎么做。我想我需要去看风景。html并查看自定义函数:

                JToolBarHelper::title(JText::_('COM_SHOPPER_TITLE_SELECTOR'), 'selector.png');
    
                // If not checked out, can save the item.
                if (!$checkedOut && ($canDo->get('core.edit') || ($canDo->get('core.create'))))
                {
                    JToolBarHelper::apply('selector.apply', 'JTOOLBAR_APPLY');
                    JToolBarHelper::save('selector.save', 'JTOOLBAR_SAVE');
                }
    
                if (!$checkedOut && ($canDo->get('core.create')))
                {
                    JToolBarHelper::custom('selector.save2new', 'save-new.png', 'save-new_f2.png', 'JTOOLBAR_SAVE_AND_NEW', false);
                }
    

    所以我想我只需要添加一个函数save2new(),但我不知道如何让它工作。

    任何关于我错在哪里的想法都会很好。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Irfan    7 年前

    我想你在找 registerTask .

    如果要为调用save方法 save2new 您需要呼叫的任务 寄存器任务 内部构造函数 __constructor

    $this->registerTask('save2new', 'save');
    

    https://docs.joomla.org/API17:JController::registerTask