<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Terrysco&#039;s Blog &#187; views</title>
	<atom:link href="http://www.terrysco.com/node/tag/views/feed" rel="self" type="application/rss+xml" />
	<link>http://www.terrysco.com</link>
	<description>仅关注于互联网行业， Linux平台开发。</description>
	<lastBuildDate>Sat, 05 Nov 2011 21:24:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>drupal views教程</title>
		<link>http://www.terrysco.com/node/drupal-module-views.html</link>
		<comments>http://www.terrysco.com/node/drupal-module-views.html#comments</comments>
		<pubDate>Tue, 16 Dec 2008 06:33:56 +0000</pubDate>
		<dc:creator>terrysco</dc:creator>
				<category><![CDATA[CMS/FrameWork]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[views]]></category>

		<guid isPermaLink="false">http://www.anyliv.com/www.terrysco.com/?p=72</guid>
		<description><![CDATA[<p>当时刚刚接触drupal的时候，views模块一直是个很难理解的东西。不知道何时该使用它，怎么使用它。经过一段时间的了解，给drupal的开发者们分享一点心得。</p><p>首先，drupal是以节点为单位组织内容的，节点的定义做drupal开发的都知道。既然drupal站点的主要内容都是节点，那么大部分显示效果都是针对节点的显示了，比如对节点标题的摘要显示，对节点标题，时间，作者等的table列表等等显示方式。当然，开发者可以根据自己对drupal的了解，写出查询语句从node表中查询数据可以得到同样的结果，或者使用node_load()函数读取节点内容并输出，然而我们有更方便的做法，就是利用views模块。</p>...
]]></description>
			<content:encoded><![CDATA[<p>当时刚刚接触drupal的时候，views模块一直是个很难理解的东西。不知道何时该使用它，怎么使用它。经过一段时间的了解，给drupal的开发者们分享一点心得。</p>
<p>首先，drupal是以节点为单位组织内容的，节点的定义做drupal开发的都知道。既然drupal站点的主要内容都是节点，那么大部分显示效果都是针对节点的显示了，比如对节点标题的摘要显示，对节点标题，时间，作者等的table列表等等显示方式。当然，开发者可以根据自己对drupal的了解，写出查询语句从node表中查询数据可以得到同样的结果，或者使用node_load()函数读取节点内容并输出，然而我们有更方便的做法，就是利用views模块。</p>
<p>简单说来，views模块就是可以根据一定的条件（arguments，类似查询语句中的where语句后的内容），需要显示的字段（fields，select后面的内容），显示的方式（大体分为两种，page和block）。其中，page就是整个页面显示一个views，block就是页面中的某个区块显示一个views，也可以两者同时选择，同时都能使用。如果选择了page，在地址栏输入你的views名称就能看到你需要列表的节点，而如果选择了block，在后台的区块管理里面就能进行这个区块相关的配置了。不知道我这里说明白了没有，自己创建一个views试试就明白怎么回事了。</p>
<p>我相信大家对别的选项都不难理解，唯独Exposed Filters这个选项。现在主要来说这个，顾名思义暴露的过滤条件，过滤条件怎么是暴露的呢？呵呵，这个意思就是说把过滤的条件放在用户可以看到的地方，并且用户可以选择过滤条件进行过滤。要使用Exposed Filters这个功能，必须在filters里面添加一个过滤条件后点击那个Exposed按钮，让这个过滤条件对用户可见。</p>
<p>我们举个例子：比如我们有一个按照时间来列表显示节点的views，其方式是page显示（整个页面）。如果我们想让用户可以自行选择节点的时间对views的内容进行控制，我们就可以把节点时间设置为exposed，这样在这个views页面就多了一些选项，用户可以以select box的形式选择时间，并点击提交后过滤出自己需要的时间。总之这个功能就是让用户对views显示的内容进行调整和控制。</p>
<p>最后，再说下views的样式定制。很多人都觉得drupal的主题个别地方很难定制，其实都有方法。有的可以利用主题函数进行覆写，有的可以利用特殊的工具。比如views的主题定制，我们可以利用views模块的工具（theme wizard，主题向导），这个工具能帮我们生成该views的代码，其代码本身就是一个主题覆写的函数，我们将这个函数拷贝到template.php中，修改下样式显示就可以了。这个其实跟一般的drupal主题覆写机制差不多，只是我们需要用工具来获得这个views的内容组织方式。说到底，drupal的主题定制占了很大一部分工作，因为这样那样的原因我们要定制很多页面，只要我们掌握了drupal的主题，更改起来难度也不是很大。</p>
<p>文章最后，给drupal开发者一些建议：多看drupal文档，因为里面还有好多东西你不知道；多利用drupal的内部函数，大部分都是drupal打头的；考虑全面一些，比如使用nodeapi这个hook的时候，我经常忘记节点删除的逻辑流程；安全编码，别忘记check_plain，更别用自己的sql查询流程，上个月drupal一个漏洞的原因就是某模块的查询语句造成sql注入，一看就是没有认真了解drupal的人。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.terrysco.com/node/drupal-module-views.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

