<2php print sleft region3?> </div> </div> (3)输出了导航菜虽 <div id="menu> <?php print theme(links.Sprimary links)? </dive 其他的page页而类似,非常简单,id class写好了用css挖制样式 在下一讲当中,我将介绍一下我的es列表的创建:这是中国化主恩的关键之处 创建views列表 我估计大家感觉Drupal使用者[http:/drupaluser..cn】站点最中国化的地方应该是四个文章列表了吧,可呵 国内CMS的一个特点就是做列表了,这一点比较符合国人的习惯,这一讲当中,将介绍一下ws生成文章列表, 详细的views使用,诗参看http://drupaluser,.cn站内的相关文章,在此只是大概说一下主要的和需要注意的地方 (1)进入news,点击“添加 views name:ies区块的名称,比如Drupal theme block views type:选择节点 (2)进入Mews的详细配置页面, Fields项目中选择节点:标题"和节点:post date,即列表包含了两项,即标题和发布时间,不要忘记标塑 关联到节点的u. 过滤器项目就是选择你要生成那一个分类的内容了,这里选择了Dup1主题制作分类的文章,其他根据自己的需要添 加 Sort criteria:排序,一般我都是有两个排序,首先按照是否置项,其次是发布时间 basic setting中有几个看要注意的地方 sye最好选择列表方式 Row style:最好选择Fields方式 这样点击下面的预览看看是不是自己想要的文章列表,这样功能方面我们就OK了, 下一讲,我们将介绍一下如何覆写news输出的样式,做成Drupaluser,.cn首页那样的文章区块 覆写views主题 本章节只是大概介绍一下Drupal使用者中文社区http://drupaluser..cn首页当中下面四个views列表区块的履写方式 更详细的介绍,请期待Views2.0入门教程 在根据上一章节当中创建好的views中,在iews列表页面的操作框右侧选样block,点击add display 这样在basic settings中的Theme infomation中,会看例类似以下四个文件的横写: (1)覆写全局输出,整个views布局,如果你的es是一个页面的话,通过覆写这个文件,可以政变页面的布同 Display output:views-view.tpl.php.views-view-Drupal-Using-block.tpl.php.views-view--default.tpl.php. views-view--Drupal-Using-block--default.tpl.php (2)覆写Mews列表,即可以通过次文件覆写掉ves的列表的样式,我就是覆写的这一个文件 Style output:views-view-list.tpl.php.views-view-list--Drupal-Using-block.tpl.php.views-view-list-default.tpl.php. views-view-list-Drupal-Using-block-default.tpl.php (3)覆写iews列表一行的样式 6
6 <?php print $left_region3 ;?> </div> </div> (3)输出了导航菜单 <div id="menu"> <?php print theme('links', $primary_links) ?> </div> 其他的 page 页面类似,非常简单,id class 写好了用 css 控制样式 在下一讲当中,我将介绍一下我的 views 列表的创建;这是中国化主题的关键之处 创建 views 列表 我估计大家感觉 Drupal 使用者[ http://drupaluser.cn ] 站点最中国化的地方应该是 四个文章列表了吧,呵呵 国内 CMS 的一个特点就是做列表了,这一点比较符合国人的习惯,这一讲当中,将介绍一下 views 生成文章列表。 详细的 views 使用,请参看 http://drupaluser.cn 站内的相关文章,在此只是大概说一下主要的和需要注意的地方 (1)进入 views,点击“添加”, views name:views 区块的名称,比如 Drupal_theme_block views type :选择 “节点”; (2)进入 views 的详细配置页面, Fields 项目中 选择“节点:标题”和“节点:post date”,即列表包含了两项,即标题和发布时间,不要忘记标题 关联到节点的 url。 过滤器 项目 就是选择你要生成那一个分类的内容了,这里选择了 Drupal 主题制作分类的文章,其他根据自己的需要添 加 Sort criteria :排序,一般我都是有两个排序,首先按照是否置顶,其次是发布时间 basic setting 中有几个需要注意的地方 style 最好选择列表方式 Row style:最好选择 Fields 方式 这样点击下面的预览看看是不是自己想要的文章列表,这样 功能方面我们就 OK 了, 下一讲,我们将介绍一下如何覆写 views 输出的样式,做成 Drupaluser,cn 首页那样的文章区块 覆写 views 主题 本章节只是大概介绍一下 Drupal 使用者中文社区[http://drupaluser.cn]首页当中 下面四个 views 列表区块的覆写方式 更详细的介绍,请期待 Views2.0 入门教程 在根据上一章节当中创建好的 views 中,在 views 列表页面的操作框右侧选择“block”,点击 add display 这样在 basic settings 中的 Theme infomation 中,会看到类似以下四个文件的覆写: (1)覆写全局输出,整个 views 布局,如果你的 views 是一个页面的话,通过覆写这个文件,可以改变页面的布局 * Display output: views-view.tpl.php, views-view--Drupal-Using-block.tpl.php, views-view--default.tpl.php, views-view--Drupal-Using-block--default.tpl.php (2)覆写 views 列表,即可以通过次文件覆写掉 views 的列表的样式,我就是覆写的这一个文件 * Style output: views-view-list.tpl.php, views-view-list--Drupal-Using-block.tpl.php, views-view-list--default.tpl.php, views-view-list--Drupal-Using-block--default.tpl.php (3)覆写 views 列表一行的样式
Row style output:views-view-fields.tpl.php.views-view-fields-Drupal-Using-block.tpl.php views-view-fields-default.tpl.php,views-view-fields--Drupal-Using-block-default.tpl.php (4)覆写ews列表中一个字段的样式,这里只输出了一个te,所以只有一个 ·Field节点:标题(D:title:)iews-Mew-feld.tpl.php,iews-view-ield-tie.tpl.php, views-view-field-Drupal-Using-block.tpl.php.views-view-field--Drupal-Using-block-title.tpl.php. views-view-field--default tpl.php.views-view-field--default-title.tpl.php. views-view-field--Drupal-Using-block-default.tpl.php.views-view-field-Drupal-Using-block--default-title.tpl.php 以上列出的文件是优先级越来越高,你当前使用的文件会被高亮显示出来 我的iews-view-list--Drupal--Using--block.tpl..php文件代码如下: <div id="zhengwu'> <div class="zhw head"> <span class="pro title">Drupal使用<sp ><span class="pro more"><a href="<?php print base path(?>category/drupalusing"><img src="<?php print base path().path to theme(?>/images/img more.gif alt="/></a></span></div> <div class="zhw list"> <?php foreach (Srows as Sid=>Srow):? <div class="item zhw'> <span class="icon_zhw></span> <span class="zhw title"><?pho print Srow.?></span> s?pho endforeach:? </div> </div> 以上代码中,<?php print Srow.?>sow即iews列表中的每一行标题,通过foreach将其循环输出 其次,我的每一行标题,我使用了优先级最低的那个文件覆写,这样,整站中s输出标题的时候,就会使用没有任何 views标签包裹,看着比较舒服 views-view-fields.tpl.php s?php foreach(Sfields as) <?php print Sfield->content:? ?php endforeach:?> END- http://www.comeongame.com/的设计流程 这次我用了6.x设计我的game搜集站,主要是因为image field可以有link to node,并且图片和 7
7 * Row style output: views-view-fields.tpl.php, views-view-fields--Drupal-Using-block.tpl.php, views-view-fields--default.tpl.php, views-view-fields--Drupal-Using-block--default.tpl.php (4)覆写 views 列表中每一个字段的样式,这里只输出了一个 title,所以只有一个。 * Field 节点: 标题 (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--Drupal-Using-block.tpl.php, views-view-field--Drupal-Using-block--title.tpl.php, views-view-field--default.tpl.php, views-view-field--default--title.tpl.php, views-view-field--Drupal-Using-block--default.tpl.php, views-view-field--Drupal-Using-block--default--title.tpl.php 以上列出的文件是优先级越来越高,你当前使用的文件会被高亮显示出来; 我的 views-view-list--Drupal-Using-block.tpl.php 文件代码如下: <div id="zhengwu"> <div class="zhw_head"> <span class="pro_title">Drupal 使用</span><span class="pro_more"><a href="<?php print base_path()?>category/drupalusing"><img src="<?php print base_path().path_to_theme()?>/images/img_more.gif" alt="" /></a></span></div> <div class="zhw_list"> <?php foreach ($rows as $id => $row): ?> <div class="item_zhw"> <span class="icon_zhw"></span> <span class="zhw_title"><?php print $row; ?></span> </div> <?php endforeach; ?> </div> </div> 以上代码中,<?php print $row; ?> $row 即 views 列表中的每一行标题,通过 foreach 将其循环输出 其次,我的每一行标题,我使用了优先级最低的那个文件覆写,这样,整站中 views 输出标题的时候,就会使用没有任何 views 标签包裹,看着比较舒服 views-view-fields.tpl.php <?php foreach ($fields as $id => $field): ?> <?php print $field->content; ?> <?php endforeach; ?> --------------------------------- END------------------------------- http://www.comeongame.com/ 的设计流程 这次我用了 6.x 设计我的 game 搜集站,主要是因为 image field 可以有 link to node,并且图片和
Swf文件的上传都采用用户ID/年月.…这个方式,避免了大量文件都传到一个文件夹下的情况..以后 站大了,这样做文件管理也好些, 主 设计 关于主题设计主要是采用了复气 ,在这里感谢drupaluser.cn提供给我的帮助,使我终于脱离了panels 摸块,可以随意设计自己的排版! page-front.tpl,php复写首页 page-taxonomy..tpl.php复写列表页 p e-flashnode..tpl.php和node-flashnode.tpl.php复写flash内页 复写page--flashnode..tpl.php注意…直接复写并不会成功,参照 http://drupaluser.cn/html/mytheme/2009-01-01/332.html 这里主要是采用drupal的复写机制..首先在.info文件里面建立自己的region,like this: reaionsTleftl =Left sidebar regions[right]=Right sidebar regions[content]=Content regions[header]=Header regions[footer]Footer 然后你可以用css+div写自己的模板,将regins放在你想放的地方.regions不能放在node上.如 果想法似乎要搞template.php,我也尝试过,成功了!(见:添加regions到node.tpl.php (http://drupalchina.org/node/3804)) 关于flash游戏页面的设计,$content变量被我具体化成很多变量,主婴是我想按照自己的div排版安 排位置.这里我主要用content templete去找变量.然后同样道理用div+css结合变量去设计 layout..,这样可以方便随意设计出自己的排版..为了有很好的seo,mate keywords和desciption 部分我也加入了部分变量输出. 模块的使用 .输出用view2+cck,然后 有投票的功能我用了vote up and down..你也需要cck的image field去输出游戏的截图,用 pathauto去定义了下node的url,形式是/分类名/文章标题,分类用Taxonomy 主要有6大类,分别在首页输出block,关于view2的主题制作也是复写.…用css+div控制下就可以 大概就是这么个流程…希望高手指点… END Drupal模板建议 建议只有和基模板放在问一个目录下面时,才能工作换句话说,为了让comment-.blog.pl.php正常工作,你需要把 comment.tplphp也放到同一个目录下 下面列出默认建议,如果你想定制的话,可参看使用模板建议一页。 block-[region [modulel-deltall.tpl.php 基模板:block.tplphP 8
8 swf 文件的上传都采用 用户 ID/年月...这个方式,避免了大量文件都传到一个文件夹下的情况.... 以后 站大了,这样做文件管理也好些... 第一:主题设计 关于主题设计主要是采用了复写,在这里感谢 drupaluser.cn 提供给我的帮助,使我终于脱离了 panels 模块, 可以随意设计自己的排版! page-front.tpl.php 复写首页 page-taxonomy.tpl.php 复写列表页 page-flashnode.tpl.php 和 node-flashnode.tpl.php 复写 flash 内页 复写 page-flashnode.tpl.php 注意....直接复写并不会成功,参照 http://drupaluser.cn/html/mytheme/2009-01-01/332.html 这里主要是采用 drupal 的复写机制... 首先在.info 文件里面建立自己的 region, like this: regions[left] = Left sidebar regions[right] = Right sidebar regions[content] = Content regions[header] = Header regions[footer] = Footer 然后你可以用 css+div 写自己的模板,将 regins 放在你想放的地方... regions 不能放在 node 上... 如 果想法似乎要搞 template.php,我也尝试过,成功了!(见:添加 regions 到 node.tpl.php (http://drupalchina.org/node/3804)) 关于 flash 游戏页面的设计,$content 变量被我具体化成很多变量,主要是我想按照自己的 div 排版安 排位置...这里我主要用 content templete 去找变量...然后同样道理用 div+css 结合变量去设计 layout....这样可以方便随意设计出自己的排版.....为了有很好的 seo, mate keywords 和 desciption 部分我也加入了部分变量输出..... 第二:模块的使用 因为我的站是 flash 小游戏搜集站,所以主要依靠 flash node 的功能.....输出用 view2+cck, 然后还 有投票的功能我用了 vote up and down....你也需要 cck 的 image field 去输出游戏的截图, 用 pathauto 去定义了下 node 的 url,形式是...../分类名/文章标题,分类用 Taxonomy 主要有 6 大类,分别在首页输出 block,关于 view2 的主题制作也是复写....用 css+div 控制下就可以 了 大概就是这么个流程.... 希望高手指点.... ***************************** END**************************** Drupal 模板建议 建议只有和基模板放在同一个目录下面时,才能工作.换句话说,为了让 comment-blog.tpl.php 正常工作,你需要把 comment.tpl.php 也放到同一个目录下. 下面列出默认建议.,如果你想定制的话,可参看使用模板建议一页. block-[region|[module|-delta]].tpl.php 基模板: block.tpl.php
武认津议及题序, 1.block-module-delta.tplphp 2.block-module.tpl.php 3.block-region.tol.php "module"为模块名称,而delta"为模块分配给该区块的内部d.例如,block-User-1pl,php将用于默认用户导航区块,因为 该区块由user模块创建,且内部id为1."egion将对特定区域产生作用。 comment-[typej.tpl.php 基模板:comment.tpl.php 默认建议为comment--type.tpl.php,.它用于特定节点类型的评论格式以区别站内的其它评论.与node-type].tplphp类似 但是它用于评论 comment-wrapper-[type].pl.php 基模板:comment--wrapper..pl.php 与前者类似,但是用于包装器(wrapper)模板 forums-conainertopic-forumID]plphp 默认模板建议及顺序 对于论坛容器 1.forums-containers-forumID.tpl.php .forums-forumiD.tpl.php 3.forums-containers.tpl.php 对于论坛话题: 1.forums-topics-forumlD.tpl.php 2.forums-forumlD.tpl.php 3.forums-topics.tpl.php maintenance-page-[offlinel.tol.php 基模板:maintenance-page.tpl.php 当数据库不可用时,应用该模板建议用来为用户展示一个不带错误信息的页面首先需要设置维护页面的主愿化 node-[typej.tpl.php 基模板:node.ol.phg 节点类型,例node-story..tpl.php"."node-blog.tpl.php”,等等 page-oninemal/pat)pl.php 基模板:page.tpl.php 可以有无数个建议.具有优先级的为首页(0 nt page).剩下的都是基于当前页面的内部路径。不要将内部路径和路径别名混 淆了,这里不能使用路径别名.记住,通常使用pathauto.module来设置路径别名. 可通过"Administrator>Site configuration>Site information"来设置首页。.对于设置好的首项,将会为其使用 page--"模板 下面为模板建议文件,根据内部路径,越特殊的次序越靠前。如果系统为当前页面找到了一个模板建议的话,就不会再调 用位于它后面的模板建议了。例如,对于htp:ww.example,com/node/i/edt,将会有下面的建议可用: 1.page-node-edit.tpl.php 2.page-node-1.tpl.php 3.page-node.tpl.php 4.page.tpl.php poll-results-[blockl.tolpho 基模板:pol--results.tpl.php 9
9 默认建议及顺序: 1. block-module-delta.tpl.php 2. block-module.tpl.php 3. block-region.tpl.php "module"为模块名称,而"delta"为模块分配给该区块的内部 id.例如, "block-user-1.tpl.php"将用于默认用户导航区块,因为 该区块由 user 模块创建,且内部 id 为 1. "region"将对特定区域产生作用. comment-[type].tpl.php 基模板: comment.tpl.php 默认建议为 comment-type.tpl.php,它用于特定节点类型的评论格式,以区别站内的其它评论.与 node-[type].tpl.php 类似, 但是它用于评论. comment-wrapper-[type].tpl.php 基模板: comment-wrapper.tpl.php 与前者类似,但是用于包装器(wrapper)模板. forums-[[container|topic]-forumID].tpl.php 基模板: forums.tpl.php 默认模板建议及顺序。 对于论坛容器 1. forums-containers-forumID.tpl.php 2. forums-forumID.tpl.php 3. forums-containers.tpl.php 对于论坛话题: 1. forums-topics-forumID.tpl.php 2. forums-forumID.tpl.php 3. forums-topics.tpl.php maintenance-page-[offline].tpl.php 基模板: maintenance-page.tpl.php 当数据库不可用时,应用该模板建议.用来为用户展示一个不带错误信息的页面.首先需要设置维护页面的主题化. node-[type].tpl.php 基模板: node.tpl.php 节点类型,例如"node-story.tpl.php", "node-blog.tpl.php",等等. page-[front|internal/path].tpl.php 基模板: page.tpl.php 可以有无数个建议.具有优先级的为首页(front page).剩下的都是基于当前页面的内部路径。不要将内部路径和路径别名混 淆了,这里不能使用路径别名。记住,通常使用 pathauto.module 来设置路径别名。 可通过"Administrator > Site configuration > Site information"来设置首页。对于设置好的首页,将会为其使用 "page-front.tpl.php"模板。 下面为模板建议文件,根据内部路径,越特殊的次序越靠前。如果系统为当前页面找到了一个模板建议的话,就不会再调 用位于它后面的模板建议了。例如,对于 http://www.example.com/node/1/edit,将会有下面的建议可用: 1. page-node-edit.tpl.php 2. page-node-1.tpl.php 3. page-node.tpl.php 4. page.tpl.php poll-results-[block].tpl.php 基模板: poll-results.tpl.php
生成投票结果的主体函数,可供节点和区块共回使用。默认是用于节点的,但是模板建议使得可以用在区 块区域中。这个建议是默认的,它位于modules/poll/poll--results--block.tpl,.php, poll-vote-[block].tpl.php 基模板:pol-vote.tol..phd 与pol-results-.block].tplphp类似,但用来生成投票表单.你必须自己为其提供模板,以让其生效. poll-bar-[block].tpl.php 基模板:poll-bar.tpl.php 与po-vote-blockl.tpl.php一样,但是用来生成单个的bars(细长条纹). profile-wrapper-ifieldl.tpl.php 基模板:profile-w 这个p0e包装系模板,是在浏览会员列表页面时使用的。当浏览特定的字段时,在模板建议中需要使用 字段名称。例如htp://drupal..org/profile,country/Belgium使用的模板为suggest profile-wrappercountry. tpl.php". seach-resul-(.php 基模板:search---results,tpl.php search-results.tpl.php是搜素结果的默认包装器。根据搜素类型的不同,使用不同的建议。例如,对 于"example.com/search/node/Search+Term",将使用"search-results-node.tpl.php".而对 于"example..com/search/user/bob,则使用"'search--results-.User.tplphp.模块可以扩展搜素类 型, 并为其加更多的建议 search-result-[searchTypel.tpl.php 基模板:search-result.tpl.php与前者相同,但是用于单个的授索结果, END page.tpl.php的图形化显示 10
10 生成投票结果的主体函数,可供节点和区块共同使用。默认是用于节点的,但是模板建议使得可以用在区 块区域中。这个建议是默认的,它位于"modules/poll/poll-results-block.tpl.php"。 poll-vote-[block].tpl.php 基模板: poll-vote.tpl.php 与 poll-results-[block].tpl.php 类似,但用来生成投票表单。你必须自己为其提供模板,以让其生效。 poll-bar-[block].tpl.php 基模板: poll-bar.tpl.php 与 poll-vote-[block].tpl.php 一样,但是用来生成单个的 bars(细长条纹)。 profile-wrapper-[field].tpl.php 基模板: profile-wrapper.tpl.php 这个 profile 包装器模板,是在浏览会员列表页面时使用的。当浏览特定的字段时,在模板建议中需要使用 字段名称。例如 http://drupal.org/profile/country/Belgium 使用的模板为"suggest profile-wrappercountry. tpl.php"。 search-results-[searchType].tpl.php 基模板: search-results.tpl.php search-results.tpl.php 是搜索结果的默认包装器。根据搜索类型的不同,使用不同的建议。例如,对 于"example.com/search/node/Search+Term",将使用"search-results-node.tpl.php"。 而对 于"example.com/search/user/bob",则使用"search-results-user.tpl.php"。模块可以扩展 搜索类 型,并为其添加更多的建议。 search-result-[searchType].tpl.php 基模板: search-result.tpl.php 与前者相同,但是用于单个的搜索结果。 —————————————————— END _____________________________ page.tpl.php 的图形化显示