phpcms2008几个基本模板文件是构成网站最重要的部分,分别是index.html(首页),list.html(列表页),category.html(栏目页),show.html(内容页).我们改的时候尽量不要改掉系统原来的名字,直接在原模板里改,后面会省很多事.特别是内容页模板,如果你改掉,到时你发的每一篇文章,都要去另外选下模板,文章多了累死你.

好了,index.html从头部开始.主要常用的标签:

{$head[title]} 网页标题 包括seo标题 若要实现自定义的话 可以去include/html.class.php文件里去修改它的显示方式.函数不难,学过php的人都看的懂.

{$head[keywords]} {$head[description]} 分别为关键字与描述

头部加上 <base href="{SITE_URL}" target="_blank"/>这个都懂的.{SITE_URL}就是网址.

phpcms2008 有个很好用的功能 就是可以直接用{if $a==0}判断要显示的东西{/if},这个灵活用的话,可以实现很多自定义的功能.也可以直接写原生php语法.

例 

 
  
  1. {if $catid==0}<link href="{SKIN_PATH}css/index.css" rel="stylesheet" type="text/css">{/if} 

这里就是通过判断当前页的的一个$catid==0来让它显示不同的CSS样式文件的,首页的$catid==0,{SKIN_PATH} 解析就是/templates/default/skins/default/加上后面的。

phpcms2008的tag标签 我个人觉得就是get标签的封装.弄懂了完全可以不用,写出来又不好理解,没有get标签灵活易懂.所以大部分我都是用get标签调用.

1.get标签可以指定ID 不管这个ID是栏目ID,还是内容ID都可以.结合数据库表来写,就没有什么调用不出来的,数据库是一个程序员基本技能并且接触最多的,一定要掌握.

2.get标签可以嵌套get标签,可以实现调用当前栏目的子栏目,原理是先调出栏目ID,通过栏目ID调用相关子栏目ID.具体怎么弄就要看数据表了.

这个官方教程都很多,自己多看就是了.

当前位置导航有两种写法,一种是官方的{catpos($catid)},想修改就去include/global.func.php修改 catpos函数,另一种是自定义的很灵活的一种,原理是先调出当前的栏目的父栏目ID(如果有的话),子栏目ID:

 
  
  1. <?php $flmid=$CATEGORY[$catid][parentid]?> 
  2. <div class="place"><span>您所在的位置:<a href="{$CATEGORY[$flmid][url]}" title="{$CATEGORY[$flmid][catname]}" target="_self">{$CATEGORY[$flmid][catname]}</a> >> <a href="{$CATEGORY[$catid][url]}" title="{$CATEGORY[$catid][catname]}" target="_self">{$CATEGORY[$catid][catname]}</a> >> <a href="{$url}" title="{$title}" target="_self">{$title}</a></span></div> 

 

代码详解:

{$title} --文章标题

{$url} ----文章url

{$CATEGORY[$catid][catname]}  ---文章所在栏目的名称

{$CATEGORY[$catid][url]}           ----文章所在栏目的url

<? $flmid=$CATEGORY[$catid][parentid]?>  调用文章所在栏目的父栏目ID

{$CATEGORY[$flmid][catname]}   ---文章所在栏目的父栏目的名称

{$CATEGORY[$flmid][url]}           ----文章所在栏目的父栏目的URL

 

$CATEGORY是个全局变量,所有模板页面都可以直接用它,保存了整个系统所有栏目的信息(无论是内部栏目,单网页栏目,还是外部链接栏目).其内容是由/data/cache/category.php返回的.

例如:

$CATEGORY[$catid][catname] 当前栏目名称

$CATEGORY[$catid][parentid]  当前栏目的父栏目id

$CATEGORY[$CATEGORY[$catid][parentid]][catname]  当前栏目的父栏目名称,子栏目arrchildid同理.

$CATEGORY数组内部如下

 

 
  
  1. array ( 
  2. 'catid' => '1', 栏目号 
  3. 'module' => 'phpcms', 栏目所属于的模块,一般来均为phpcms 
  4. 'type' => '1', 栏目的类型,0为内部栏目,1为单网页目录,2为外部链接栏目 
  5. 'modelid' => '0', 当前栏目所绑定的功能模型的id,  单网页及外部链接栏目的modelid为0 
  6. 'parentid' => '0', 父栏目的id号,如果为0,则表明是一级栏目 
  7. 'arrparentid' => '0', 当前栏目所有祖先栏目的id,可能是逗号分隔的字符串,没有子栏目一级栏目此值为0,第二级栏目的此值为 "0,n". 
  8. 'child' => '1',    当前栏目是否有子栏目 
  9. 'arrchildid' => '1,2,3,4,5', 当前栏目自己以及其所有后代栏目的id号,用逗号分隔,这个值相当有用. 
  10. 'catname' => '网站介绍', 栏目的名称 
  11. 'style' => '',  栏目的样式,即包含栏目名称颜色及是否加粗的信息,可能的值是 "c1 b", 第一个值可能是c1--c15,代表了bg1--bg15的css样式所定义的颜色. 
  12. 'p_w_picpath' => '', 栏目图片 
  13. 'description' => '',栏目的描述 
  14. 'parentdir' => '', 父栏目的目录,是完整的目录结构,第一级栏目此值为空. 
  15. 'catdir' => 'about', 栏目指定的目录 
  16. 'url' => 'about/index.html', 栏目链接地址 
  17. 'content' => '网站介绍', 未使用 
  18. 'items' => '0', 栏目中的信息数,在目前的版本中,这不包含子栏目的信息数. 
  19. 'hits' => '0',  栏目点击数 
  20. 'listorder' => '1', 排序 
  21. 'ismenu' => '0', 是否在导航栏显示,目前的默认栏目标签,还无法直接实现显示非一级栏目于导航栏 
  22. 'template' => 'page', 栏目模板 
  23. 'ishtml' => '1', 是否生成静态,单网页栏目才有此项,内部栏目及外部链接栏目无此项 
  24. 'category_urlruleid' => '1',栏目的url规则 
  25. 'meta_title' => ''
  26. 'meta_keywords' => ''
  27. 'meta_description' => ''
  28.    ) 

 

然后搜索下面是主要代码:

 

 
  
  1. <form action="/search/?type=all" method="get" onsubmit="return CheckPost();"> 
  2.     <span>站内搜索:</span> 
  3.     <input type="hidden" name="kwtype" value="0" /> 
  4.     <input type="hidden" name="searchtype" value="titlekeyword" /> 
  5.     <input type="text"  value="" name="q" id='q' class="search_input" size="30"/><span><!--必须name="q" id='q' 才能跳转--> 
  6.     <input type="p_w_picpath" name="p_w_picpathField" id="p_w_picpathField" src="templates/default/skins/default/p_w_picpaths/search_buttom_bg.png" /></span> 
  7. </form> 

其中onsubmit是个验证提交内空是否为空.提交按钮可以是图片,但最好是submit

看懂后只要拿几个关键点,就行了.