如何在Joomla 2.5中实现自定义工具栏按钮?

时间:2014-09-30 20:46:11

标签: php joomla joomla2.5

我正在构建一个Joomla 2.5组件。

我想在组件的编辑(单个)视图(称为“文章”)中有一个新的自定义JToolbar按钮,“添加新菜单项”。

单击时,这应打开同一组件中另一个视图的编辑视图的灯箱(称为“菜单项”),允许用户添加菜单项而不会离开他当前所在的表单。

目前,我已经放入

JToolBarHelper::custom('ussdarticle.addussdmenu', '', '', 'Add Menu Item', false);

并试图将addussdmenu函数放在控制器中,但是当单击该按钮时,它只是指向列表视图而不调用该函数。

真的很感激帮助,我仍然会与Joomla的MVC(以及一般的MVC)达成协议。

1 个答案:

答案 0 :(得分:2)

您的任务ussdarticle.addussdmenu将调用addussdmenu控制器的ussdarticle方法。

同时检查 - How to send the task variable in Joomla

如果要使用自定义按钮打开弹出窗口。您可以在布局中使用此代码 -

<?php JHTML::_('behavior.modal');?>
<script type="text/javascript">
    Joomla.submitbutton = function(task)
    {
        if((task == 'ussdarticle.addussdmenu')){        
            var url = "<?php echo JURI::base()?>index.php?option=com_mycomponent&task="+task;
            SqueezeBox.loadModal(url,"iframe",820,400);
        } else {
            Joomla.submitform(task, document.getElementById('adminForm'));
        }
    }
    SqueezeBox.loadModal = function(modalUrl,handler,x,y) {
        this.presets.size.x = 1024;
        this.initialize();      
        var options = {handler: 'iframe', size: {x: 1000, y: 550}, onClose: function() {}};      
        this.setOptions(this.presets, options);
        this.assignOptions();
        this.setContent(handler,modalUrl);
    };
</script>