介绍

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。

drupal7 Views Bulk Operations (VBO)的更多相关文章

  1. C# Bulk Operations(转)

    转自http://blog.csdn.net/winnyrain/article/details/51240684 Overcome SqlBulkCopy Limitations with C# B ...

  2. drupal7 Views Slideshow 简单教程

    一.下载安装(略) 二.内容类型建立(过程略,首页幻灯),字段建立(过程略)主要有2个字段,图片字段 和 指向链接字段 三.view 1.建立一个新的view,名称为frontbanner 显示为内容 ...

  3. bulk更新mongodb的脚本

    bulk批处理mongodb,比普通的js脚本来的更快一些. 官方网址:https://docs.mongodb.com/manual/reference/method/Bulk/ bulk支持的方法 ...

  4. Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap

    概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍.内容包括:ConcurrentSkipListMap介绍ConcurrentSki ...

  5. Java多线程系列--“JUC集合”06之 ConcurrentSkipListSet

    概要 本章对Java.util.concurrent包中的ConcurrentSkipListSet类进行详细的介绍.内容包括:ConcurrentSkipListSet介绍ConcurrentSki ...

  6. Backbone笔记(续)

    Backbone Bockbone 总览 Backbone 与 MVC 模式:解决某一类问题的通用方案 - 套路 MVC:一种架构模式,解耦代码,分离关注点 M(Model) - 数据模型 V(Vie ...

  7. BACKBONE源代码解析

    //2014.11// Backbone.js 1.0.0 // (c) 2010-2013 Jeremy Ashkenas, DocumentCloud Inc. // Backbone may b ...

  8. AbstractMap学习记录

    package java.util;import java.util.Map.Entry; /** * This class provides a skeletal implementation of ...

  9. Map学习

    1.Query Operations(查询操作) int size();boolean isEmpty(); boolean containsKey(Object key);boolean conta ...

随机推荐

  1. [游戏模版4] Win32 显示鼠标位置

    >_<:use MOUSE_MOVE message refresh the position information. >_<:use LOWORD(lParam) get ...

  2. 专题:点滴Javascript

    JS#38: Javascript中递归造成的堆栈溢出及解决方案 JS#37: 使用console.time测试Javascript性能 JS#36: Javascript中判断两个日期相等 JS#3 ...

  3. Lingo 做线性规划 - Revenue Management

    Reference: <An Introduction to Management Science Quantitative Approaches to Decision Making, Rev ...

  4. 将Eclipse代码导入到AndroidStudio的两种方式

    版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4183553.html 说到使用AndroidStudio,除 ...

  5. ubuntu下安装oracle

    本来打算在 redhat 下面安装了,但是没有 redhat 的盘了,就装了个 ubuntu 桌面版,结果安装起来十分费劲,主要是之前没安装过,对 oracle 的架构和配置也不太懂. 下面记录我安装 ...

  6. 斐波那契数列(Fibonacci)递归和非递归实现

    序列前9项为:0, 1, 1, 2, 3, 5, 8, 13, 21 要注意非递归的话就是那一个变量帮助存储当前下一项的值,然后依次挪动两个指针往下即可 注意如果n太大 会溢出             ...

  7. 动态变化的OO设计

    今天看到个题目:对象会动态的变化. 游戏精灵,有人和神仙,但是随着人的不断积分,会升级为神仙:神仙也可能会因为积分的减少而降级为人.这种情况怎么画出个类图来. 这是第一版的设计,正常思维.人和神仙都是 ...

  8. hadoop集群全纪录

    169namenode 170datanode 171datenode 1:部署JDK 获取jdk安装代码:jdk-7u21-linux-x64.gz tar -zxvf jdk-7u21-linux ...

  9. ZooKeeper快速搭建

    原文地址:http://nileader.blog.51cto.com/1381108/795230 下载PDF版本 本文是ZooKeeper的快速搭建,旨在帮助大家以最快的速度完成一个ZK集群的搭建 ...

  10. 八卦一下黄晓明和Angelababy的电话号码

    最新一期20150605的<奔跑吧兄弟>真是太搞笑了,邓超被大家整的... 但这一期有个细节引起了我的注意,就是Angelababy在现场打电话给黄晓明,而拨键声音十分清晰.一些拥有“绝对 ...