PHP模板引擎smarty详细介绍(4)

{$smarty.section.testSection.index}- <!--当前循环到的数组的键值-->
{$sectionArr[testSection]}- <!--当前循环到的数组的元素值-->
{$smarty.section.testSection.iteration}-<!--当前section循环的次数,从1计起-->
<br/>

{sectionelse}
$sectionArr is null
{/section}
<!--section循环适用于纯int型键值的数组-->
<!--给loop赋一个要循环的数组,start指定从数组指定键值开始循环,step指定数组下次循环的键值与本次循环键值之差,max指定循环最大次数,show指定是否循环false的话直接跳到执行sectionelse-->
<!--Section的内置变量与foreach 相同-->

*/


/*
tpl模板文件:
{literal}

<script type="text/javascript">
function a(){
    alert("this is script");
}
a();
</script>

{/literal}
{*
literal 标签区域内的数据将被当作网页html文本处理,此时模板将忽略且不分析其内部的所有字符信息。
该特性用于显示有可能包含大括号等字符信息的 js、css 。当这些信息处于 {literal}{/literal} 标签中时,模板引擎将不分析它们,而直接显示。
*}

*/

//PHP文件:
//$smarty->setDebugging(true);//对后续调用的模板进行调试。
//$smarty->getDebugging();//得到当前是否进行调试,默认false
//或在需要调试的模版中写入{debug}

/*
模板文件:

smarty3.0支持了模版继承系统,例如
f1.tpl:
<html>
<body>

{block} f1.header<br />{/block}
{block} f1.middle<br />{/block}
{block} f1.buttom<br />{/block}

</body>
</html>

f2.tpl:
{extends file="f1.tpl"}
{block} f2.header<br />{/block}
{block} it can`t be show <br />{/block}
{*
如果f2.tpl中没有block标签,或f2.tpl中没有和f1.tpl中相同命名的block标签,则f2.tpl完整引入显示f1.tpl中所有内容包括block标签的内容,而f2.tpl中所有内容将忽略
如果f2.tpl中有和f1.tpl中同名block标签,则在f2.tpl显示时f2.tpl中block标签内容将覆盖f1.tpl中同名block标签的内容,在f2.tpl页面显示时,内容仍将按f1.tpl设置的格式位置显示,f2.tpl其他所有文本包括未同名的block标签及其内容都将被忽略,不显示。
block标签的内容只会覆盖父模版中同名block标签的内容,或在子模版中显示,在本页面中如果没有调用父模版或父模版中没有要覆盖的同名block标签,block标签内容在本页面中不显示
这种继承支持多文件,多重继承,意味着可以无限的继承下去
*}


{fetch file="http://www.126.com" assign="testAssign"}
{$testAssign}
{fetch file="http://www.126.com"}
{*fetch可以引用外部http,ftp的页面,如指定assign的值则把引用的内容存在指定名的变量中,否则在哪有fetch在哪显示*}
*/

//php页面:
//调用模版也可以使用此方法,在输出前做一些处理
//$output = $smarty->fetch("index.tpl");
//do something with $output here对将要输出的内容进行处理
//echo $output;//然后将模板输出

/*
模板中提交表单
<form action="file.php" method="post">
action属性可以直接写要提交到的php文件名,或者不写空action=""则提交到调用该模板的php文件中
*/


//连接数据库
mysql_connect("localhost","root","root");
mysql_select_db("test");
$smarty->assign('webDir',$_SERVER['DOCUMENT_ROOT']);//$_SERVER['DOCUMENT_ROOT']为当前项目文件夹的绝对路径
//配置JQuery的src路径最好写绝对路径或写要运行文件能找到该JQuery的相对路径因为要编译成编译文件,而编译后的文件和原路径环境不一样
?>
<script type="text/javascript" src="https://localhost/Smarty/demo/JS/jquery-1.7.2.min.js"></script>

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/7b031633e3c5d788c16c82f55200619e.html