首先介绍下用到的标签:1、模块内文章循环(分页)cmlist, 结束{/cmlist},下面我们就来说一说关于php静态网页开发?我们一起去了解并探讨一下这个问题吧!
php静态网页开发
首先介绍下用到的标签:
1、模块内文章循环(分页)cmlist, 结束{/cmlist}
{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"}
<div>{key}{fa add_time|"fcname":"riqigeshi","fcstr":"1"}</div>
<div>{fa news_name}</div>
{/cmlist}
标签参数说明:
- t(table):表名;
- f(field):字段;
- c(condition):条件;
- o(order):排序;
- l(limit):取得数量;
- name:用于区分模块内自己的字段,自己随便设定;
- 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路径
- __PUCSS__ css;
- __PUJS__ js;
4、直接使用自定义函数
{cmf 4|"fcname":"getprolist","methstr":"6"}
参数说明:
- 4--常量(变量)参数,methstr,也是参数,多个参数用“,”分割开;
- 该标签会被解析为getprolist(4,6);
- “|”左侧变量参数,使用了生成页面的时候传进来的ID编号,cs[id]表示,例如{cmf 4,cs[id]|"fcname":"getprolist","methstr":"6"},解析的时候会以cs[开头,]结尾截取字段;
- 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"}
<div>
<h3>{fm cat_name}</h3>
{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"}
<a href="/{fd cat_html_path}/{fd cat_html_name}.html">{fd cat_name}</a>
{/cblist}
</div>
{/cdlist}
{/cmbox}
说明:
- cmlist参数加入了enp:cdlist;
- cdlist是当前循环的结束标志。
- 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');
- 截取php标签,直接创建页面,在页面中创建函数;
- 函数内容就是截取的if开始到},也就是我们正常写的内容;
- 结果就是只有第一次判断正常,后边的全跟着第一个判断了,如果第一个为true,后边的无论什么条件,返回都是true,没有找到哪里的问题
例如:生成详情页,当前所属分类高亮显示,我们可以把当前文章的ID作为参数,创建函数进行判断{cmf cs[id]|"fcname":"casesgetcatlslist"}
casesgetcatlslist($id){
//循环读取所有分类
//根据ID读取分类
$cat=;
$list=Db::name()->
foreach($list as $k){
if($cat==$k['id']){
高亮显示
}
}
}