首页 / 帖子
请问如何将vbo的操作表单放到内容下方去显示?

https://drupal.org/files/project-images/views_pager_count.png

我偶然看到这个模块给的一个示例图片里,vbo的操作部分给弄到下方了,我记得vbo本身没有这样的设置,不知是如何实现的?

4个答案
AnnyO
发布于:2014-04-26 20:08

我的第一反应是在相关输出的.tpl.php文件中调整顺序

YOYO
发布于:2014-04-27 11:47

首先截图中的后台界面是Commerce体系的一个模块,Commerce Backoffice


其次我看了VBO的代码默认肯定是只有一个VBO的表单,但通过hook可以改变出现的位置,以下是Backoffice模块的做法:

function commerce_backoffice_views_bulk_operations_form_alter(&$form, &$form_state, $vbo) {
  if ($form_state['step'] == 'views_form_views_form' && strpos($vbo->view->name, 'commerce_backoffice_') !== FALSE) {
    $form['select']['#title'] = '';
    $form['select']['#collapsible'] = FALSE;
    $form['select']['submit']['#value'] = t('Apply');
    $form['select']['operation']['#options'][0] = t('Bulk operations');
    $form['select']['#weight'] = 99999;
  }
}


YOYO
发布于:2014-04-27 20:30

志成说的那个方法比较靠谱。

所以,总结一下,要么就是幽灵说的,修改tpl文件,要么就是志成说的,form_alter。

闻涛
发布于:2014-04-28 18:16

仔细看了一下,还是form_alter的方法比较好,如果修改tpl的话会牵扯到drupal的form的模版问题,其实也挺麻烦的。