当前位置:首页 > CMS教程 > phpcms > 列表

【phpcms-v9】授课内容

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-22 09:26:28 浏览: 评论:0 

2、进入后台,将栏目与模板文件对应起来  

3、常量的定义:phpcms/base.php文件  

4、系统类库、函数库、模型文件及配置文件的加载

  1. pc_base::load_sys_class();//加载系统类库   
  2. pc_base::load_sys_func();//加载系统函数库   
  3. pc_base::load_model();//加载模型   
  4. pc_base::load_config();//加载配置文件或配置选项信息   
  5. pc_base::load_app_func();//加载应用程序函数库   
  6. pc_base::load_app_class();//加载应用程序类库   

全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用.

5、模板语法:

(1)常量表示:{JS_PATH}//相当于 <?php echo JS_PATH; ?> 或者 <?=JS_PATH?>,不带php标识,说明是在输出.

(2)变量语法:{$title}//会被解析成<?php echo $title;?>,不带php标识,说明是输出 

(3)单行php解析语法:{php $i=10;}//相当于 <?php $i=10;?> ,带php标识,说明在处理逻辑,而不是输出.

(4)条件判断:

  1. {if $a > $b}   
  2.        
  3. {/if}   
  4.    
  5. //解析为:   
  6.    
  7. <?php   
  8.    
  9. if($a>$b){   
  10.    
  11. }   
  12. ?>  

(5)循环:

  1. {loop $data $key $val}{/loop}   
  2.    
  3. //解析为:   
  4.    
  5. <?php   
  6.    
  7. foreach($data as $key=>$val){   
  8.    
  9. }   
  10.    
  11. ?>   

(6)自增自减:通常跟循环一起使用

  1. {php $i=10;}   
  2. {loop $a $b}   
  3.     {$i++}  //自增自减,会解析为赋值操作,而不是输出操作,如:<?php $i++;?>   
  4. {/loop}   

(7)包含模板文件:

{template "content","header"}//包含 "templates/default/content/header.html" 模板文件.

6、内容详情页中的变量从何而来?

找到phpcms/modules/content/index.php控制器中的show()方法,在方法中随意定义一些变量,然后,看一下是否能够从模板文件中获取到值,答案是肯定的.  

{title}、{$content}从哪里来?

技巧:如果在控制器方法中不能直接搜到模板文件中的变量,那么此变量必定在extract($data);中.

extract($data);//主要用来将数组中个元素转化为变量.

总结:当模板文件中的变量不能在对应的方法中找到的话,那么此变量必定是从$data数组元素中转化而来的.

内容页面的变量:

(1)包含模板文件:{template "content","header"}

(2)生成站点首页url的函数:{siteurl($siteid)}

(3)面包屑导航:{catpos($catid)}

(4)来源:{$copyfrom}

(5)发布时间:{$inputtime}

(6)文章描述:{if $description}<div class="summary" >{$description}</div>{/if}  

(7)内容:

  1. {if $allow_visitor==1}   
  2.     {$content}   
  3.     <!--内容关联投票-->   
  4.     {if $voteid}   
  5.         <script language="javascript" src="{APP_PATH}index.php?m=vote&c=index&a=show&action=js&subjectid={$voteid}&type=2"></script>   
  6.     {/if}   
  7.                    
  8. {else}   
  9.     <CENTER><a href="{APP_PATH}index.php?m=content&c=readpoint&allow_visitor={$allow_visitor}"><font color="red">阅读此信息需要您支付 <B><I>{$readpoint} {if $paytype}元{else}点{/if}</I></B>,点击这里支付</font></a></CENTER>   //phpfensi.com 
  10. {/if

(8)短标题:

  1. {if $titles}   
  2.     <fieldset>   
  3.     <legend class="f14">本文导航</legend>   
  4.     <ul class="list blue row-2">   
  5.     {loop $titles $r}   
  6.         <li>{$n}、<a href="{$r[url]}">{$r[title]}</a></li>   
  7.     {/loop}   
  8.     </ul>   
  9.     </fieldset>   
  10. {/if

(9)分页代码:{$pages}  

(10)相关搜索词:

  1. <p style="margin-bottom:10px">   
  2.  <strong>相关热词搜索:</strong>   
  3.  {loop $keywords $keyword}   
  4.     <a       href="{APP_PATH}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)}" class="blue">{$keyword}</a>       
  5.  {/loop}   
  6. </p>  

(11)上一篇、下一篇

  1. <p class="f14">   
  2. <strong>上一篇:</strong><a href="{$previous_page[url]}">{$previous_page[title]}</a>   
  3. <strong>下一篇:</strong><a href="{$next_page[url]}">{$next_page[title]}</a>   
  4. </p> 

(12)统计点击量:

<script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}"></script>  

(13)网页标题:{$SEO['title']}{$SEO['site_title']}

(14)网页描述:{$SEO['description']}

(15)网页关键子:{$SEO['keyword']}  

7、pc标签的使用:在v9中,我们将使用pc标签作为获取数据的主要方式.

pc标签分模块来使用,今天,主要来学习内容模块pc标签的使用,内容模块的pc标签可用来完成如下功能:

(1)获取内容列表:lists  

(2)获取点击排行榜:hits  

(3)获取相关文章:relation  

(4)获取栏目列表:category  

8、自定义pc标签:pc标签的源代码在 phpcms/modules/模块名/classes/模块名_tag.class.php中,我们可根据项目需求,为pc标签增加额外的功能,以满足项目的需要. 

9、get万能标签:通过sql语句来获取数据  

10.碎片标签:碎片功能允许我们将网页分为若干块儿,每一块儿都可以在后台像修改文章内容一样由编辑人员来可视化的维护,并可实时替换每一块儿的内容. 

{pc:block pos="daohang"}{/pc}

碎片:碎片其实就是一段HTML代码,只不过这段html代码如果作为碎片的话,就可以由编辑人员在后台任意更改了.  

11、扩展函数库:

phpcms/libs/functions/global.func.php  

phpcms/libs/functions/extend.func.php  

12、二次开发:扩展控制器:MY_index.php  

Tags: phpcms-v9授课 phpcms基础学习

分享到: