在组件视图页面中添加joomla的默认工具栏


10

我正在为joomla 2.5和3开发一个mvc组件。在许多组件中,我看到它们在管理端的设置页面顶部添加了joomla的默认命令按钮,例如new,edit,publish,trash,选项。例如。如果去组件->网络链接->链接页面,我正在谈论右上角的那些命令按钮。

那么,如何在组件的设置页面中添加这些命令按钮?单击时,它将执行相应的操作并显示相应的视图。例如,如果单击“新建”按钮,它将按原样显示我的mvc组件的添加条目视图。

因此,如何在管理员端的组件设置页面中添加完全可用的joomla命令按钮。

Answers:


12

最佳实践是addToolBar()在View类中创建方法,然后使用JToolBarHelper该类创建命令按钮:

protected function addToolBar()
{
  JToolBarHelper::addNew('yourcontroller.add');
  JToolBarHelper::editList('yourcontroller.edit');
}

因此,这些将在您指定的控制器中将任务/功能称为“添加” /“编辑”。然后只需调用$this->addToolBar()View的display()方法即可。

参考为组件创建工具栏


我在组件中只有一个控制器文件controller.php,并且在其中有一个函数,function add() { JRequest::setVar('view', 'entry'); JRequest::setVar('layout', 'form'); parent::display(); }因此在view.html.php文件中添加了JToolBarHelper :: addNewX('controller.add'); 那么新的按钮出现,但点击时它不走我的看法窗体,而不是增加了一个#到网址
开发-M

尽量省略controller.task-JToolBarHelper::addNewX();
梅德Rekun

仅添加了JToolBarHelper :: addNewX(); 但不起作用。
dev-m

然后,您需要在controllers目录下创建一个适当的控制器。请参阅添加后端操作
Dmitry Rekun 2014年

5

您需要确保显示按钮的视图具有要提交的表单。表单名称应为adminForm。该表单还应具有一个名为task和动态生成的令牌的隐藏字段。我无法想起该API,但是有些类似的东西JHtml::_('form.token');(如果我弄错了,请改正此错误)

这可以解决问题。


我之前发现的问题是我使用的是表单名称作为adminform而不是adminForm。似乎joomla区分大小写!
dev-m

它不仅仅是Joomla特有的JavaScript。当您单击按钮时,实际上是在触发JS提交表单功能,因此,如果找不到该表单,则它会自动失败。
Mathew Lenning,2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.