【问题标题】:Joomla 3.x Override button functions in custom componentJoomla 3.x 覆盖自定义组件中的按钮功能
【发布时间】:2018-07-06 21:36:34
【问题描述】:

我正在尝试覆盖我的 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'];

我想用 save 和 close 和 save 和 new 做同样的事情,但我不知道该怎么做。我以为我需要去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() 但我不知道如何使它工作。

任何关于我哪里出错的想法都会很棒。

【问题讨论】:

  • 通常在控制器中构建一个函数就可以满足您的需求。您收到错误消息吗?如果点击 save2new 按钮,系统会做什么?

标签: php joomla joomla3.0


【解决方案1】:

我猜你正在寻找registerTask

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

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

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

【讨论】:

    猜你喜欢
    • 2013-04-13
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 2014-08-01
    相关资源
    最近更新 更多