什么是 views

什么是 views


相比cck, views 的概念简单得多
但使用复杂得多

一个Drupal 的site,
由很多很多nodes 组成
但很多时候, 一个页面总不会只有一个node
例如首页, 当然要有列表列出最新的nodes
将nodes 用某条件 (如更新顺序排列) 组织起来就是views 的工作
但组织nodes 的方法何其多
而且views 又不知何, 放了一只脚到显示的控制之内
令views 的介面复杂起来
成为Drupal 之内最复杂的模组

一个view 内分
page, block, fields, arguments, filter, exposed filters, sorting
六个大分类
前三个和显示相关
后四个是组织nodes 的方式
因为显示和控制混在一起
设定views 便得小心点

先处理好控制
再处理显示

arguments, filter, exposed filters, sorting 是一组用逻辑 AND ("和") 串成的选择
例如有node 1到10
argument 只选1到6
filter 选3到9
exposed filter 选 4到7
最后的结果便只有 4到6 这三个node

arguments 是一个利用url 选择node 的方式
例如 node/1
这个网址path 有个"1" 指定了只显示node id 为"1" 的node
这种选择的方式称为arguments
(但这个例子是由drupal 内核提供, 非views)
又例如你可以设定 url 为 year/2007
便会选择更新日期为2007 年的nodes
你可以看成是一个条件, 而这个条件是由url path 提供的

filter, 顾名思义
一个内建的选择器
一般会有一个filter "己发布" 的要求
令选出来的都是"己发布" 的node
或可以限制taxonomy terms 在某一或某几个terms 之内
做出一个"教学专用页", "日记专用页"等等

exposed filter
从filter 的选择器中
选出一个或多个filter
将选择用select list 的形式 开放给使用者自行筛选

sorting
怎样将结果排序
更新时间顺序? 逆序?
id?

完成好控制后
决定你的结果怎样显示
页面形式或作一区块都可以
分别设定page 或(和)block
它们都有一个select list, 有full node, teaser view, list view, table 选择
就是这部份混合了显示方式
full node, 使用那node 的content-type template显示 (如有)
teaser view, 使用views theme wizard 的teaser template (如有)
list view, 一个简单的列表(unordered list), 使用views theme wizard 的template (如有)
table view, 也很直观
要留意的是table, list view 是要选择要显示的fields
只选了id 就只会有id 栏

有关views 的显示部分, 特别是templates
因为复杂得多,
不能放到"初始"一类, 所以另文再详述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章