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

时间:2018-01-27 20:16:39

标签: php joomla joomla3.0

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

通过将代码添加到控制器中,我通过保存功能得到了妥善管理。

            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'];

我想做同样的事情,保存和关闭,保存和新,但我无法弄清楚如何做到这一点。我认为我需要转到view.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 个答案:

答案 0 :(得分:0)

我猜您正在寻找registerTask

如果要为save2new任务调用保存方法,则需要在构造函数registerTask内调用__constructor

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

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