时间:2021-05-28
一、模板存放及调用规则
模板存放于系统 template 目录,template 目录下的一个目录
例如:template/default/ 即为一套模板
模板文件以 .htm 为扩展名,可直接存放于模板目录
例如 template/default/index.htm
也可以存放于模板目录的子目录里
例如:template/default/member/index.htm
在PHP文件里,使用模板语法为
<?php include template('index');?>或者
<?php include template('index', 'member');?>如果当前默认模板套系为default,则:
<?php include template('header');?>表示使用 template/default/header.htm 模板文件
<?php include template('header', 'member');?>表示使用 template/default/member/header.htm 模板文件
模板目录下在 these.name.php 是模板别名的配置文件,模板别名可以在后台模板管理修改。
模板解析后的缓存文件保存于cache/tpl/目录,扩展名为 .tpl.php
二、模板语法
1、包含模板:{template 'header'} 或{template 'header', 'member'}
{template 'header'}被解析为
<?php include template('header');?>表示使用 template/default/header.htm 模板文件
{template 'header', 'member'}
被解析为:
<?php include template('header','member');?>表示使用 template/default/member/header.htm 模板文件
2、变量或常量表示:
变量 {$destoon} 被解析为:
<?php echo $destoon;?>常量 {DESTOON} 被解析为:
<?php echo DESTOON;?>对于数组,标准写法应为 例如 {$destoon['index']},可简写为{$destoon[index]},模板在解析时会自动追加引号。
3、函数 {func_name($par1, $par2)}
{func_name($par1, $par2)}被解析为
<?php func_name($par1, $par2);?>4、PHP表达式 {php expression}
{php expression}被解析为
<?php expression ?>5、条件语句 {if $a=='b'} do A {/if} 或{if $a=='b'} do A {else} do B {/if} 或 {if $a=='b'} do A{elseif $b=='c'} do C {else} do B {/if}
{if $a=='b'} do A {/if}被解析为
<?php if($a=='b') { do A }?>{if $a=='b'} do A {else} do B {/if}被解析为
<?php if($a=='b') { do A } else { do B } ?>{if $a=='b'} do A {elseif $b=='c'} do C {else} do B {/if}被解析为
<?php if($a=='b') { do A } else if($b=='c') { do C } else { do B } ?>6、LOOP循环 {loop $var $v}...{loop} 或
{loop $var $k $v}...{loop}
{loop $var $v}...{loop}被解析为
<?php if(is_array($var)) { foreach($var as $v) { ... } }?>{loop $var $k $v}...{loop}被解析为
<?php if(is_array($var)) { foreach($var as $k=>$v) { ... } }?>三、特殊用法
1、变量或表达式可以用HTML注释,例如<!--{$destoon}--> 仍被解析为 <?php echo $destoon; ?> (可自动过滤此类注释)
2、可直接在模板里书写PHP代码,直接书写PHP代码与DESTOON 模板语法是兼容的。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文示例可实现Destoon多表查询。在进行destoon二次开发的时候有很高的实用价值。具体实现方法如下:1.模板文件部分具体代码如下:{loop$tags$
本文实例讲述了Ecshop二次开发之自定义库文件和模板数据调用方法。分享给大家供大家参考。具体方法如下:Smarty的标签非常多,也比较繁琐,所以Ecshop使
微信app版本为v7.0.19,在进行微信平台的二次开发之前,要先确定好开发的目的与方向,看看是要通过二次开发来完善功能,还是要优化调整平台。若是要完善功能的话
前言:这里记录了我在学习Skyline二次开发中所遇到的问题,适合刚接触Skyline二次开发的同学查看使用,从逻辑到代码逐一详解,但是还是重在理解,希望对你有
由于帝国CMS没插件API,所以在做帝国CMS二次开发的时候特别容易出现系统升级,文件管理混乱等麻烦,trylife总结出一些帝国CMS二次开发注意事项与大家分