`

收藏的smarty总觉

阅读更多
nl2br[换行符替换成<br />]
regex_replace[正则替换]
replace[替换]
spacify[插空]
string_format[字符串格式化]
strip[去除(多余空格)]
strip_tags[去除html标签]
truncate[截取]
upper[大写]
wordwrap[行宽约束]
capitalize [首字母大写]
count_characters [计算字符数]
cat [连接字符串]
count_paragraphs [计算段落数]
count_sentences [计算句数]
count_words [计算词数]
date_format [时间格式]
default [默认]
escape [转码]
indent[缩进]
lower[小写 ]
{$name|truncate:10:"..."}
{$name|capitalize }

{include file="header.tpl"}        文件的包含
{include_php file="./header.php"}        php文件的包含
{*页面头*}                         注释,是不透明的
{$str1|capitalize}               第一句首字母要大写
{$str2|cat:"李晓军"}             变量 + 李晓军,cat为连接
{$str|date_format:"%Y年%m月%d日"}输出当前日期
{$name|default:"没有值!"}  如果变量没值就显示default定义的值
{$name|indent:8:"*"}         缩进8个空白字母位,并使用"*"取替这8个空白字符
{$name|lower}                全部变为小写

{html_select_date}     显示一个月,日, 年选择框
<{html_select_time}>
<{html_image file="/chuangye/public/images/me.jpg" alt="" border="0" width="100" height="100"}>显示图片
{html_table loop=$data cols=4 hdir="right" vdir="down" trailpad="填补空格" tr_attr="bgcolor='red'"  
table_attr='border="2"'}
{mailto address="me@domain.com" text="联系我们" cc="to@sdf.com,to2@sd.com" bcc="an@song.com" subject="我毕业了。"
extra='class="email"'}
{strip}{/strip} 标记中数据的首尾空格和回车. 这样可以保证模板容易理解且不用担心多余的空格导致问题.
{$smarty.ldelim}     显示左分隔符
<{$smarty.server.SERVER_NAME}>           取得服务器变量localhost
<{$smarty.now}>                          变量用于访问当前时间戳.
<{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S "}>      可以用 date_format调节器格式化输出
<{$smarty.const.WEBROOT}>               直接访问PHP常量
<{$smarty.template}>             显示当前被处理的模板的名字.
<{$smarty.version}>             显示smarty模板的版本
<{$news|@count}>             输出数组有多少个元素
<{$name|count_characters}> 计算变量值里的字符数.参数值boolean型决定是否计算空格数。默认不计算空格
{$name|count_paragraphs}               计算变量里的段落数量
{$name|count_sentences}               计算变量里句子的数量
{$name|count_words}               计算变量里的词数
<{$name|escape:"html"}>转码参数值为html,htmlall,url,quotes,hex,hexentity,javascrīpt。默认是html转码
{$name|nl2br}            换行符替换成<br />
{$name|regex_replace:"/\d/":"*"}         正则替换
{$name|replace:"大家好":"李晓军"} 把变量中的"大家好"替换成:李晓军
{$name|spacify:"*"}  spacify是在字符串的每个字符之间插入空格或者其他的字符串. 参数表示将在两个字符之间插入的字符串,默认为一个空格。
{$number|string_format:"%.1f"}        字符串格式化
{$name|strip}        去除重复的空格
{$text|strip_tags}        去除所有html标签
{$name|truncate:12}  截取参数1,规定截取的字符数.默认是80个.第二个参数加上什么字符.默认为...
{$text|wordwrap:10:"\n"}        超过这10个字符数换行
$smarty->config_load('my.conf');       加载配置文件,并将其中的数据传送到模板中
$smarty->clear_config();               清除所有配置变量
{debug} 将调式信息输出到页面上. 该函数是否可用取决于 Smarty 的 debug 设置. 该函数在运行时取得数据,因此不能显示使用中的模板,只能显示运行时被赋值的变量. 不过还是可以看到所有模板内当前可用的变量.
<{$SCRIPT_NAME}>  当前文件的路径

<{math equation="x + y" x=3 y=4}>
<{textformat wrap=1}>大    #$    家       好       啊。<{/textformat}>textformat 用于格式化文本. 该函数主要清理空格和特殊字符,
没有缓存的:<{$smarty.now}>

一、模板中调用php文件中函数
php文件中的方法:
function insert_get_time(){//insert 函数默认是不缓存的。并且这个属性不能修改
return date("Y-m-d H:m:s");
}
模板中调用:<{insert name="get_time"}>
还可以传递参数如下:
php端:
function insert_getBanner($array){
print_r($array);//$lid是个数组
return $array['lid'];
}
模板中调用:<{insert name="getBanner" lid='dd' sid='aa'}>

二、模板中定义变量
{assign var="UserName" value="大师兄"}在模板内部定义一个变量UserName值为“大师兄”

三、动态生成radio,checkedbox,options
php文件中的radio方法:
$tpl->assign('cust_radios', array(
1001 => 'Joe Schmoe',
1002 => 'Jack Smith',
1003 => 'Jane Johnson',
1004 => 'Charlie Brown'));
$tpl->assign('customer_id', 1001);
模板中调用:
<{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"}>
php文件中的checkedbox方法:
$tpl->assign('cust_checkboxes', array(
1000 => 'Joe Schmoe',
1001 => 'Jack Smith',
1002 => 'Jane Johnson',
1003 => 'Charlie Brown'));
$tpl->assign('customer_id', 1001);
模板中调用:
<{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"}>
php文件中的options方法:
$tpl->assign('cust_options', array(
1001 => 'Joe Schmoe',
1002 => 'Jack Smith',
1003 => 'Jane Johnson',
1004 => 'Charlie Brown'));
$tpl->assign('customer_id', 1001);
模板中调用:
<select name=customer_id>
<{html_options options=$cust_options selected=$customer_id}>
</select>


四、用{$smarty.capture.foo}调用capture中的内容
<{capture name="foo"}>呵呵。<{/capture}>
<{$smarty.capture.foo}>

五、计数器
<{counter start=0 skip=2 print=false assign=aa}>  计数器
<{$aa}>      
<{counter}><{$aa}>
<{counter}><{$aa}>


六、Cycle用来循环显示一组数值
{section name=rows loop=$data}
<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
<td>{$data[rows]}</td>
</tr>
{/section}



七、得到文件的内空,并赋给变量
<{fetch file="http://www.test.com/aa.html" assign="test"}> <{$test}>用来取得文件内容,并输出文件内容.

八、语法
if:
<{if $name !== ""}>
<b><{$name}></b>
<{/if}>
foreach:
<{foreach key=key item=value from=$news}><!--foreach循环数组 -->
键值:<{$key}>
内容:<{$value.id}>
<{$value.title}>
<{$value.data}><br>
<{/foreach}>
section:
<{section name=list loop=$news}>
<font color="#0000FF"><{$news
  •  
    •  
        .data}>></font><br>
        <{/section}>

        在模板中还可以执行php语句,真强。不过这点很好用的。
        <{php}>
        global $tpl;
        global $db;
        $typeArr = $tpl -> get_template_vars("value");
        $IndustryBig = $typeArr[IndustryBig];
        $db->query("SELECT Name FROM `cy_class_industry` where ID='$IndustryBig'");
        $row = $db->fetchRow();
        echo $row['Name'];
        <{/php}>

        数学算法和日期的格式化显示
        <{math equation="(x-y)/60" x=$logArr[num].logoutTime y=$logArr[num].loginTime format="%.1f"}> <font color="red">分钟</font>
    • .title}></font><font color="gray"><<{$news
  • .id}></font> <font color="#FF0000"><{$news
分享到:
评论

相关推荐

    Smarty_smarty_

    在这个Smarty_smarty_的压缩包中,很显然包含了一份详尽的Smarty教程,涵盖了从基础到高级的多个方面。下面将详细阐述Smarty模板引擎的关键知识点。 1. **基本语法**:Smarty的语法设计简洁明了,它允许在模板文件...

    Smarty

    Smarty Smarty Smarty

    Smarty+smarty中文手册

    Smarty的核心理念是"分离视图(模板)和控制器(逻辑)",这是一种常见的MVC(Model-View-Controller)设计模式的应用。 Smarty-2.6.18.tar.gz 是Smarty的一个特定版本,即2.6.18版的源码压缩包。.tar.gz格式是一种...

    smarty

    Smarty的核心优点包括: 1. **速度优化**:相比于其他模板引擎,Smarty能提供更快的执行速度。它通过编译模板为纯PHP代码,使得在后续请求中可以直接执行已编译好的文件,避免了重复解析模板的开销。 2. **编译型...

    smarty最新手册 smarty中英文结合版

    例如,`$smarty-&gt;setTemplateDir('templates')`设置模板目录,`$smarty-&gt;setCompileDir('templates_c')`设置编译目录。 四、Smarty缓存 Smarty有内置的缓存机制,能提高页面加载速度。通过`$smarty-&gt;cache_lifetime...

    smarty运算符

    ### Smarty运算符详解 在PHP开发领域中,Smarty是一个非常受欢迎的模板引擎,尤其是在PHP5时期,被广泛应用于各种Web项目之中。Smarty的核心优势在于它能够实现逻辑与表现层的有效分离,使得前端开发者无需了解复杂...

    smarty3.0,smarty最新版本

    在Smarty 3.0版本中,引入了许多改进和新特性,旨在提高性能、可扩展性和灵活性。 1. **模板分离**:Smarty的核心理念是将程序逻辑与展示逻辑分开,让开发者专注于PHP代码,而设计师可以专注于HTML/CSS/JS。这样,...

    李炎恢Smarty专题精讲视频课程源码

    通过这门课程,你将能够深入理解并熟练运用Smarty模板引擎。 首先,我们来了解一下Smarty的核心概念: 1. **模板(Template)**:这是由设计师创建的HTML文件,其中包含了一些特殊的Smarty标记。这些标记用于插入...

    smarty安装与入门

    smarty安装及初级使用 在PHP的世界里已经出现了各式各样的模板类,但就功能和速度来说Smarty还是一直处于领先地位,因为Smarty的功能相对强大,所以使用起来比其他一些模板类稍显复杂了一点。现在就用30分钟让您...

    smarty-3.1.29

    2. **变量安全**:Smarty提供了多种内置的安全机制,如变量过滤和预定义的安全函数,以防止未经验证的数据直接在模板中显示,增加了应用程序的安全性。 3. **模板继承**:通过使用模板继承,可以在一个父模板中定义...

    springmvc4+smarty4j 实例

    总的来说,Spring MVC 4和Smarty 4J的整合提供了一种高效的方式来实现MVC架构,使得开发者可以方便地管理后端逻辑和前端展示。这种组合既保留了Spring MVC的灵活性和强大功能,又利用了Smarty 4J的模板引擎优势,...

    最新版smarty插件

    总的来说,Smarty 3.1.33作为一款成熟的PHP模板引擎,可以帮助开发者实现前后端职责分离,提升开发效率,同时提供多种功能以满足复杂的Web应用需求。无论你是初学者还是经验丰富的开发者,了解和掌握Smarty都是提升...

    Smarty中文手册,Smarty教程,Smarty模板的入门教材

    ### Smarty中文手册与教程知识点详解 #### 一、Smarty简介 **Smarty** 是一款用于 PHP 的模板引擎,其主要设计理念是将程序逻辑与界面展示分离,以提高项目的可维护性和可扩展性。作为一款编译型的 PHP 模板引擎,...

    Smarty最新版下载自Smarty官网

    Smarty是一款广泛应用于PHP开发中的模板引擎,它的设计目标是将呈现逻辑与业务逻辑分离,让开发者可以更加专注于代码的编写...对于初学者,Smarty的官方网站提供了详细的教程和API文档,是学习和使用Smarty的重要资源。

    php+smarty输出新闻列表

    2. Smarty初始化:引入Smarty类库,创建实例,并配置相关参数,如模板目录、编译目录等: ```php require_once 'path/to/Smarty.class.php'; $smarty = new Smarty(); $smarty-&gt;template_dir = 'path/to/...

    最新版smarty类库

    总的来说,最新版的Smarty类库不仅提供了高效的模板处理,还强调了安全性、灵活性和可扩展性。无论你是初次接触还是老用户,都能从中受益。如果你正面临PHP项目中的界面设计与逻辑分离问题,那么升级到最新版Smarty...

    smarty下载及入门教程

    Smarty的最新版本可能会随着时间的推移而更新,文中提到了Smarty 2.6.x系列的几个版本,例如2.6.18、2.6.17和2.6.16等。要获取最新的Smarty版本,开发者应访问其官方网站或通过GitHub等开源平台进行下载。安装过程...

    smarty3 的应用详解

    $smarty= Smarty::instance(); 模板 之前的smarty模板,相当于重新定义了一套标签语言,那么smarty3提供了一种新的模板形式,直接支持php语法的模板。 但是问题就出来了,我们还有必要用模板吗? 引用php类型模板...

    smarty调用php常量

    在Smarty中,它们可以通过`{$smarty.get.varname}`, `{$smarty.post.varname}`, `{$smarty.request.varname}`的形式访问。 - **$\_COOKIE,$\_SESSION**:用于存储客户端状态信息。它们同样可以使用`{$smarty....

    php开发smarty模板

    在实际开发中,使用Smarty时,首先需要安装和配置Smarty库,然后创建实例,分配变量,最后渲染模板。例如: ```php // 加载Smarty类库 require_once 'path/to/Smarty.class.php'; $smarty = new Smarty(); // 配置...

Global site tag (gtag.js) - Google Analytics