最新消息:文章中包含代码时,请遵守代码高亮规范!

初识smarty【原创】

杂项 Alex 138浏览 0评论
smarty:一门常见的PHP模板技术,用户简化html中php代码
语法:{},注释{* 注释的内容 *}
注意:html中只解析{}内的内容,不解析其他包括php代码
如何解决:css,js代码
     ·外部引入
     ·使用{literal}
{literal}
 <style type="text/css">
 .odd{
 background: #f2f2f2;
 }
 </style>
{/literal}

一:Smarty的使用
     前提:当然是安装
     一)引入Smarty类并建立对象
     二)设置编译地址与模板地址
     三)分发变量(类似java中存入域对象)
     四)分发地址
<?php
/*
 分发变量
 */
include 'libs/Smarty.class.php';
//建立对象
$smarty=new Smarty();
//设置路径
$smarty->template_dir="templates";
$smarty->compile_dir="template_c";
//传值
$smarty->assign("students",array('张三','李四','王二'));
$smarty->assign("students2",array('1'=>'张三','2'=>'李四','3'=>'王二'));
//分发
$smarty->display('index.php');

二:Smarty中的变量
     A)使用assign手动分发变量
          最常用的手动(用法如上)
     B)内置变量
          {$smarty.now}
         {$smarty.const}
         {$smarty.capture}
         {$smarty.config}
         {$smarty.section}
         {$smarty.template}
         {$smarty.current_dir}
         {$smarty.version}
         {$smarty.block.child}
         {$smarty.block.parent}
         {$smarty.ldelim}
         {$smarty.rdelim}
     C)配置变量
              ·首先配置文件:若存在重复的名称,可设置section属性
              ·加载配置文件:使用{config_load}内置函数加载文件
              ·使用配置变量:使用 {$smarty.config.键名}获取
配置:
[配置:
[student]
name= 张三
age= 21
[teacher]
name= 李老师
age= 35


html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
{config_load file="my.conf" section="teacher"}
{$smarty.config.name}
</body>
</html> 

 

三变量修饰器
capitalize
cat
count_characters
count_paragraphs
count_sentences
count_words
date_format
default
escape
indent
lower
nl2br
regex_replace
replace
spacify
string_format
strip
strip_tags
truncate
upper
wordwrap

四:常见的内置函数
            ·{if}{elseif}{else}{/if}
 {if $count>80}
 IQ大于80
 {else if $count<=80&&$count>=60}
 IQ大于80小于60
 {else}
 IQ小于60
 {/if}
            ·{foreach}{/foreach}
{literal}
 <style type="text/css">
 .odd{
 background: #f2f2f2;
 }
 </style>
{/literal}
<body>
 <table align="center" border="1" width="600">
 <tr>
 <th>姓名</th>
 <th>年龄</th>
 <th>性别</th>
 </tr>
{foreach from=$students key="key" item='student' }

 <tr
 {if $student@iteration is odd}class='odd'{/if}>
 <td align="center">{$student['name']}</td>
 <td align="center">{$student['age']}</td>
 <td align="center">{$student['sex']}</td>
 </tr>
{/foreach}
            ·{section}
 <ul>
 {section name="index" loop="3"}
 <li>{$students2[index]}</li>
 {/section}
 </ul>
               注意:只能用来遍历索引数组,name代表下标,loop代表循环的次数(不可超过数组的长度,同时也可以填               写数组)
五函数插件
              {counter}
              {cycle}
              {eval}
              {fetch}
              {html_checkboxes}
              {html_image}
             {html_options}
            {html_radios}
            {html_select_date}
           {html_select_time}
           {html_table}
           {mailto}
           {math}
           {textformat}
{html_radios name='name' options=$students selected="李四"}

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/24198.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Alex的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!