Smarty

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}

  

 

原文地址:https://www.cnblogs.com/zygxfx/p/4389365.html