php手把手教你做网站(三十四)网站静态生成二标签说明

2022-10-11 21:25:08 188 0
魁首哥

首先介绍下用到的标签:

1、模块内文章循环(分页)cmlist, 结束 {/ cmlist }

php手把手教你做网站(三十四)网站静态生成二标签说明

 {cmlist "t":"web_news","f":"add_time,news_name,id,news_status,news_pic,htmlname,htmlfolder","c":"","o":"sort desc,id desc","l":"","name":"a"}
{key}{fa add_time|"fcname":"riqigeshi","fcstr":"1"}
{fa news_name}
{/cmlist}

标签参数说明:

  1. t(table):表名;
  2. f(field):字段;
  3. c(condition):条件;
  4. o(order):排序;
  5. l(limit):取得数量;
  6. name:用于区分模块内自己的字段,自己随便设定;
  7. pagesize:显示每页数量,填写是分页,不填写是模块前几条循环;

都是取得首字母,比较好记。

循环显示字段信息:

{f模块名称 字段名称,字段名称|”fcname”:”自定义函数名称”,”fcstr”:”常量参数”}

 {fa add_time|"fcname":"riqigeshi","fcstr":"1"}
$time='';
最终会被解析成riqigeshi($time,1);
function riqigeshi($time,$cs){
      if($cs==1){
           return date("Y-m-d",$time);
      }
}  

{key}循环的序号:1开始,自动加1

2、include包含文件

 {include include/header}  

只有一个参数,就是include/header,include是路径,header是文件名,扩展名可以加上,也可以自己设定。

3、自定义path路径

  1. __PUCSS__ css;
  2. __PUJS__ js;

4、直接使用自定义函数

 {cmf 4|"fcname":"getprolist","methstr":"6"}  

参数说明:

  1. 4–常量(变量)参数,methstr,也是参数,多个参数用“,”分割开;
  2. 该标签会被解析为getprolist(4,6);
  3. “|”左侧变量参数,使用了生成页面的时候传进来的ID编号,cs[id]表示,例如{cmf 4,cs[id]|”fcname”:”getprolist”,”methstr”:”6″},解析的时候会以cs[开头,]结尾截取字段;
  4. fcname自定义函数名称;

5、获取单页信息

cmone:

{cmone开头 /cmone结束

 {cmone  "t":"web_page","f":"page_content,page_name,page_rename","c":"id=cs[id]","o":"","name":"aa"} {/cmone}  

参数同cmlist一样。

cmpage:

{cmpage开头,}结束

  {cmpage         "t":"web_news","f":"add_time,id,news_name,news_content,htmlfolder,htmlname,news_cat","c":"id=cs[id]","o":"","l":"","name":"aa"}  

参数同上。

不同点:cmone替换的是标签内的,cmpage整个页面替换。

6、嵌套循环

 {cmbox}
{cmlist  "t":"web_cat","f":"cat_name,id,cat_html_path,cat_html_name","name":"m","o":"sort desc,id desc","c":"projectid=81 and parentid=0","enp":"cdlist"}
				

{fm cat_name}

{cmlist "t":"web_cat","f":"cat_name,id,cat_html_path,cat_html_name","name":"d","o":"sort desc,id desc","c":"projectid=81 and parentid=m[id]","enp":"cblist"} {fd cat_name} {/cblist}
{/cdlist} {/cmbox}

说明:

  1. cmlist参数加入了enp:cdlist;
  2. cdlist是当前循环的结束标志。
  3. m[id]是使用父类name为m的ID;

7、列表页底部页码

{page}

8、if条件语句

下边的标签是没有实现的,最后没有解决掉,也不知道哪里出的问题,只能是采用了自定义函数。

标签

 {php $st:ct[id],$as:aa[news_cat]}
				if ($st==$as){
				 return "class='on'";
				}
				
				{/php}  
 $func="test(\$as,\$asd){
				if (\$st==\$as){
				 return "class='on'";
				}
}";
file_put_contents('dfie.php',$func);,
require_once 'dfie.php';
test($as,$asd);
unlink('dfie.php');  
  1. 截取php标签,直接创建页面,在页面中创建函数;
  2. 函数内容就是截取的if开始到},也就是我们正常写的内容;
  3. 结果就是只有第一次判断正常,后边的全跟着第一个判断了,如果第一个为true,后边的无论什么条件,返回都是true,没有找到哪里的问题

例如:生成详情页,当前所属分类高亮显示,我们可以把当前文章的ID作为参数,创建函数进行判断{cmf cs[id]|”fcname”:”casesgetcatlslist”}

 casesgetcatlslist($id){
  //循环读取所有分类
  //根据ID读取分类
  $cat=;
  $list=Db::name()->
  foreach($list as $k){
     if($cat==$k['id']){
        高亮显示
     }
  }
}  

收藏
分享
海报
0 条评论
188
上一篇:PHP性能如何实现全面优化,程序员可深入学习下 下一篇:Hello Spark! | Spark,从入门到精通

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码