smarty技術學習,修改php模板的一點體會_PHP教程

來源:互聯網
上載者:User
smarty,最得名,用之,配置文法都是菜鳥層級的,沒的說,先列一點我使用的:
<{foreach key=key item=MMSPAN from=$TSortUrl}>


<{if $mysort eq $key}>
img src="images/sort_<{$key}>_1.gif" height="25" border="0" />

<{else}>

">.gif" height="25" border="0" />

<{/if}>

<{/foreach}>

如果在模板中需要有動態替換的,諸如使用者登陸資訊,最好的是 調用js

主要的參數配置是:
include_once(IncludeFile."/libs/Smarty.class.php");
$tpl = new Smarty();
$tpl->caching= false; //True開啟緩衝
//$tpl->compile_check=true;//確定以後不再編譯模板,修改為false
$tpl->template_dir = IncludeFile . "/templates/".Isite_tpl."/";
$tpl->compile_dir = IncludeFile . "/templates_c/";
$tpl->config_dir = IncludeFile . "/configs/";
$tpl->cache_dir = IncludeFile . "/cache/";
$tpl->left_delimiter = <{;
$tpl->right_delimiter = }>;
/*


其中,常用的2個方法 template_exists($f),用於檢測$f模板是否存在。fetch()用於返回已經被assign的模板的輸出檔案,在產生靜態頁面的時候很是有用。

看看smarty自身的chm檔案說明,除了基本的幾個文法,就看你的靈活使用了:

傳參:
<{include file="SiteAllTop.html" mysort ="0" }>


擷取系統參數:
<{if $MMSPAN[0] eq $smarty.get.s}>selected<{/if}>

清除一切html格式:
<{$OReDetail[6]|strip_tags}>

注釋: {* Smarty *}

{* include the header file here *}
{include file="header.tpl"}



數學運算子和截取:
{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}


日期格式化: {$smarty.now|date_format}
{$smarty.now|date_format:"%A, %B %e, %Y"}
{$smarty.now|date_format:"%H:%M:%S"}
{$yesterday|date_format}
{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:"%H:%M:%S"}

OUTPUT:

Feb 6, 2001
Tuesday, February 6, 2001
14:33:00
Feb 5, 2001
Monday, February 5, 2001
14:33:00

正則使用: {* 使用空格替換每個斷行符號,tab,和分行符號 *}
{$articleTitle}
{$articleTitle|regex_replace:"/[]/":" "}


格式化字串:

{textformat wrap=40 indent=4}


日期比較例子: <{if $smarty.now|date_format:"%Y-%m-%d" eq $MMSPAN[4]|date_format:"%Y-%m-%d"}>
<{/if}>

http://www.bkjia.com/PHPjc/531662.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/531662.htmlTechArticlesmarty,最得名,用之,配置文法都是菜鳥層級的,沒的說,先列一點我使用的: {foreachkey=keyitem=MMSPANfrom=$TSortUrl} tdalign="left"valign="bottom"hei...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.