免费开源的PHP建站系统,可广泛用于个人、企业、政府、机构等众多网站建设。

购买授权授权查询

点击这里给我发消息 点击这里给我发消息

模板制作

模板标签调用详细示例


发布时间:2012-04-25 09:36
标签调用说明: 本内容主要介绍模板标签调用的详细使用方法。
初学者建议使用DOYO系统后台【模板调用生成器】功能,根据需要自动生成模板调用代码,简单方便。
系统标签: 站点根路径:{$GLOBALS['WWW']}
站点模板路径:{$GLOBALS['TURL']}
站点网址:{$GLOBALS['S']['http']}
站点名称:{$GLOBALS['S']['title']}
站点关键词:{$GLOBALS['S']['keywords']}
站点简介:{$GLOBALS['S']['description']}
万能循环示例: {loop table="article" tid="9" trait="1" orderby="id" limit="3" as="v"}
输出中直接使用{$v['title']}的格式调用字段
{/loop}
参数说明
table:需要调用的数据表(不需要加表前缀)
tid,trait:自定义的调用条件(可以随意增加,比如加入自定义字段条件)
orderby:排序条件,可以使用多个排序组合如orderby="id asc,addtime desc"limit:调用条数,也可使用limit="1,3"的方式调用
as:循环输出的标识,即调用字段{$v['auid']}中的"v",标识主要作为每个loop循环输出的唯一标识,已便在多级嵌套loop中进行调用区分,防止调用混乱。(不指定as,则默认为v)
loop嵌套
loop标签中可以使用变量进行赋值,如{loop table="article" tid="$v['tid']" as="s"},通过变量赋值的方法,很容易实现loop的多级嵌套调用。注意:在标签内部调用变量时,不能给变量加{}号
loop多级嵌套示例:如我们需要loop循环出一级栏目,并在循环时输出各栏目下的文章内容,方法如下
{loop table="classtype" pid="0"}
输出栏目名{$v['classname']}
   嵌套输出本栏目下文章
   {loop table="article" tid="$v['tid']" limit="3" as="a"} 注意这里指定新的as与栏目as区分
   输出文章名{$a['title']}
   {/loop}
{/loop}
SQL循环示例: {sql sql="select * from sy_article where tid=1 order by id desc limit 0,8" as="v"}
输出中直接使用{$v['title']}的格式调用字段
{/sql}
参数说明:
sql:需要执行的sql语句,注意其中的表名要使用带前缀的完整表名
as:作用同loop
模板嵌套: {include="head.html"}
其中head.html即为需要嵌套的模板路径,注意:此路径相对于默认模板根目录,如"head.html"即代表template/default/下的head.html文件
条件判断: {if($v['abc']=='张明')}
   这个是张明
{else}
   这个不是张明
{/if}
if标签同样支持多级if嵌套,注意if中的判断条件遵循php语法,分别为:等于"==",不等于"!=",大于">",小于"<",大于等于">=",小于等于"<="
函数调用: 例:字数截断{fun newstr($v['title'],20)}
例:时间转换{fun date('Y-m-d H:i:s',$v['addtime'])}
详细的系统自带函数见"特殊调用"
foreach循环: {foreach $v['trait'] as $s}
输出中直接使用{$s[0]}的格式调用字段
{/foreach}
php代码: 模板支持直接使用php代码,如:
<?php
   $a=1;
   if($a==1){
      $b=$a;
   }
   echo $b;
?>
点击这里给我发消息 2373088201 点击这里给我发消息 1522066607
All rights reserved Powered by DOYO! 2006-2012 Email:hi@wdoyo.com