首先介紹這個教學會用到的另一個強力模組: Views Bulk Operations
Views bulk operation (VBO) 是在 Drupal 6.x 的時候已經是很好用的模組
可以一次性為大量節點設定值
例如設為 unpublish, 批量賦與欄位值, 加減 tag 之類
VBO 在 7.x 的重大改變是它變成一個欄位
不再是一個獨立的 "Display"
可以想像, 建立一個 table, 再在前頭加一個 checkbox 欄位
table 的上方放一個 actions 的下拉選單
因為 views 是不支持 Rules 內的 "List" 的
所以便借用 VBO 的 "Load a list of entity objects from a VBO View."
將 "list of nodes" 傳到 rules 之內
所以, 相同原則之下, 你可以使用 node smart queue 逹成同樣的效果
VBO 只是一個例子而已
在建立了一個 sticky nodes 的 views,
將 VBO 的欄位加到這個 views 之後,
你便可以在 Rules 的action 內 "Load a list of entity objects from a VBO view"
選需要的 views:
如果你的 views 需要 arguments/contextual filters 你可以在接著輸入
例如傳入將要儲存的 node 的 taxonomy 以逹成更複雜的 sticky 條件等等
最下的 Provided Variables 是之後如何稱呼這 list 的
輸入 "list of sticky nodes" 為 Label, Name: list_of_sticky_nodes
就可以按 save 便設定完 VBO 和 list 的部份了
接下來便要對這個 list 的每一個節點進行 unsticky 的操作
按 "Add Loop", Data selector 選前面輸入的 "list of sticky nodes"
下面設定稱呼 單個節點 時候的 label, name
接著在 loop 的右面可以新增 loop 內的 actions:
"Make content unsticky", Data selector 選 單個節點 的 label
最後為這個 action 加一個顯示訊息以提示使用者有關的修改便完成了
Attachment | Size |
---|---|
vbo.PNG | 6.96 KB |
load-views-object.PNG | 12.88 KB |
views-dropdown.PNG | 11.38 KB |
loop-add-action.PNG | 11.63 KB |