• drupal7 Views Bulk Operations (VBO)


    介绍

    drupal通常用views制作列表,列表也应该能实现某些操作,例如删除、审批等,并且应该是批量进行的,VBO的存在就是为了实现views批量操作功能。事实上,drupal把操作统称为action,而VBO的原理仅仅是把views与action关联起来。

    使用步骤(来源于官方)

    1. Create a View.
    2. Add a "Bulk operations" field if available
    3. Configure the field. There's a "Views Bulk Operations" fieldset where the actions visible to the user are selected.
    4. Go to the View page. VBO functionality should be present.

    给VBO添加更多的操作

    由于VBO的操作实现依赖于action,所以声明新的action就等于为VBO添加新的操作。
    假设开发一个delete node的action,mymodule.module代码大致如下:

    /**
     * Implementation of hook_action_info().
     */
    function mymodule_action_info() {
      return array(
          'mymodule_node_delete_action' => array(
              'label' => t('Delete node'),
              'type' => 'node', // 限定的内容类型
              'aggregate' => TRUE, // 如果为TRUE,即为批量操作
              'configurable' => FALSE,
              'triggers' => array('any'), // 触发器限定
          ),
      );
    }
    
    /**
     * Implementation of a Drupal action.
     * Passes selected ids as arguments to a view.
     */
    function mymodule_node_delete_action($entities, $context = array()) {
      $nids = array_keys($entities);
      node_delete_multiple($nids);
    }

    然后在views中的"Bulk operations" field就可以看到delete node这个action。

  • 相关阅读:
    MFC--响应鼠标和键盘操作
    c/C++二进制运算符
    MFC-简单的函数使用
    mfc学习之路--如何删除通过控件新增的变量
    标准BST二叉搜索树写法
    Spring4.1新特性——Spring MVC增强
    浅析JSONP-解决Ajax跨域访问问题
    关于jquery跨域请求方法
    解决jsp下载文件,迅雷下载路径不显示文件名称的问题
    REST风格URL
  • 原文地址:https://www.cnblogs.com/catcat811/p/3329312.html
Copyright © 2020-2023  润新知