在 joomla 中显示多个 adminForm

Display multiple adminForm's in joomla

在 joomla 中使用多个表单创建自定义视图时,会发生冲突,因为每个表单都有 id="adminForm" name="adminForm".

重命名表单导致与 joomla 不兼容。

如何在单个视图中显示多个 adminForm?

  1. 将表单元素重组为一个包含页面的表单 并从表单操作中删除 &task=controller.task 部分 URL,例如

    <form 
      action="<?php echo JRoute::_(''); ?>" 
      name="adminForm" id="adminForm" class="form-validate" 
      method="post" enctype="multipart/form-data">
    
  2. 在每个提交按钮上使用 joomla 方法:onclick="Joomla.submitbutton('controller.task')" 例如

    <button type="submit"
      onclick="Joomla.submitbutton('group.join')">Join</button>
    
  3. Joomla 将使用 name="task"value="controller.task" 自动更新隐藏字段,这将与表单一起提交。
    您需要在表单中包含此元素才能正常工作,例如

    <input type="hidden" name="task" value="" />
    </form>