1、smarty在某一tpl中可以在任何地方定义变量,任何地方赋值,然后全局生效,例如:在公共头做判断定义变量,在版块模板页赋不同的值。
公共头页面head.tpl: {if $ishavenav} <div class="head-icon"> <a class="icon-nav" id="wap{$controlName}xx_xxx" href="javascript:void(0);"> <span class="sms-num" style="display:none;"></span><span ><i></i><p>导航</p></span> </a> </div> {/if}
某一用到head.tpl的模板页:
{include file="public/inc.header_inside.html"
title="我的XX"
headTitle="我的浏览-XXXX网"
ishavenav=true
}
这样就可以起到进入公共头判断的作用。
2、smarty中fetch和display的区别
在Smarty模板函数里面有这样一个方法:fetch("template.htm"),他和display("template.htm");最大的不同就是fetch()是把内容输出给一个变量,而display()是把内容输出给浏览器,这样我们就可以用一个变量来接收fetch()的输出,然后把他写入到文件中去.
self::$_smarty->assign('result', $result['node']); $jsondata=self::$_smarty->fetch("tudi/ajaxGetTudi.html");
3、smarty函数count_characters[字符计数]
例如:显示10行,控制字数 {if $result.SNote|strip_tags|strip|count_characters > 858}