欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

smarty

如何在smarty模板中执行php代码 有大用

Smarty模板主要的目的是分离逻辑层和表现层,所以在模板中不应该包含逻辑部分,逻辑层也不应该含有HTML。要在模板中插入逻辑程序的这种做法“非常”不被推荐,在你的case中。
如果你真正的需要在模板中使用脚本程序,smarty也提供了{php}标签,允许programmer在表现层混入php代码(再次提示:这种不利于逻辑层与表现层的分离,违背了程序与结构的分离)。看一看如何在模板中插入php代码:

普通分类: 
shiping1 的头像

smarty post

<form id="loginForm" method="post" action="#">
<table id="loginareacenter" cellpadding="0" cellspacing="0" border="0">
{if $emailErr}<tr><th></th><td><font color=red>.{$emailErr}</font></td></tr>{/if}
{if $passwordErr}<tr><th></th><td><font color=red>.{$passwordErr}</font></td></tr>{/if}
<tr><th>{$smarty.const.EMAIL}:</th><td><input type="text" id="email" name="email" value="{$email}"  
普通分类: 
shiping1 的头像

foreach 迭代序号常量等

   iteration 见 http://www.hbcms.com/main/smarty/foreach.property.iteration.html       
iteration 用于显示当前循环的执行次数[待考] 
普通分类: 
shiping1 的头像

smarty与js的交互问题

我使用SMARTY传值给了JS。。JS也收到了内容。。var abc = <{$row_array}>;alert(abc[0]['id']);这样书写的话是可以在PHP页面正常输出值的。。这是写在HTML页面的。。我如果写在外部的JS的文件中。。将JS文件调用在HTML中。。这程序就一点反应都没有了。。是为什么呢??<script type="text/javascript" language="javascript" src="test.js"></script>js里的内容和上面的一摸一样。。路劲什么的都正确啊。。
普通分类: 
shiping1 的头像

javascript调用smarty变量的方法

1.方法1:
普通分类: 
shiping1 的头像

Ajax 与 Smarty,第 1 部分: 使用 Smarty 开发 Ajax 应用

普通分类: 
shiping1 的头像

Smarty 自定义函数中的传值问题 有大用

{$str|json},   这是 $Smarty
普通分类: 
shiping1 的头像

控制输出缓存

控制输出缓存

通常情况下,开启缓存可以让整个最终输出的页面被缓存下来。 然而,Smarty 3提供了几种在输出缓存中控制部分区域不进行缓存的方法。

普通分类: 
shiping1 的头像

在smarty模板中调用PHP自定义函数(从smarty2到smarty3)

这两天研究了一下smarty,熟悉了它的一些基本语法后便开始用它开发一个留言版(真正的开发中一般不会有程序员使用smarty去开发一个留言版的,杀鸡焉用牛刀?),主要是为了将所学的知识点串联起来。在开发的过程中,遇到了一个问题,如题,我在PHP文件中定义了一个函数,现在想在.tpl模版中调用,该如何调用呢?通过在网上查找一些资料,下面给出具体的解决方案:

大家都知道,在smarty中提供了许多在模板中使用的调节器,但是在很多时候,这些调节器无法提供我们需要的功能,这时候,我们就需要自己定义PHP函数,然后在模板中调用。

普通分类: 
shiping1 的头像

smarty 的 modifier插件

1、截取gb2312字符串:
普通分类: 
shiping1 的头像

smarty3 中register_function();报错问题

smarty3 中register_function();报错问题

普通分类: 
shiping1 的头像

Smarty3 手册

Smarty - PHP模板引擎

Monte Ohrt <monte at ohrt dot com>

普通分类: 
shiping1 的头像

Smarty - 模板引擎中文参考手册 2.0 系列

Smarty - 模板引擎中文参考手册 2.0 系列

Monte Ohrt <monte@ispi.net>

普通分类: 
shiping1 的头像

smarty 下载

百度 或者 谷歌  "smarty 下载"
http://www.smarty.net/download
普通分类: 
shiping1 的头像

register_modifier

register_modifier
注册修饰器

 

void register_modifier(string name, mixed impl)

 

Use this to dynamically register modifier plugin. Pass in the template modifier name, followed by the PHP function that it implements it.

动态注册一个修饰器插件,需要制定模板修饰器的名称,和实现具体功能的函数。

普通分类: 
shiping1 的头像

escape_html

$escape_html

设置$escape_html为true,Smarty将会为所有模板里的变量调用

普通分类: 
shiping1 的头像

smarty 标签注释

模板中的注释是星号开头,然后外面包含着 

普通分类: 
shiping1 的头像

smarty 各种标签

时间  {$row.senddate|date_format:"%Y-%m-%d %H:%M:%S"}  //以年月(有前导0)日(有前导0)时(24时制)分秒显示

普通分类: 
shiping1 的头像

smarty 标签界定符冲突

在使用smarty的时候,如果没有更改smarty配置,smarty的定界符是{ },大家经常可能碰到模板页中js无法正确执行的问题。

这就是因为smarty引擎把js中{ }之间的内容也当做smarty语句来处理,本人总结的解决这个问题主要有三个:

1.更改smarty配置文件中的定界符。(就我而言,已经习惯了用{ },所以一般不用这种方法。)

2.把javascript代码写到一个js文件中,在模板页中引用即可。

3.使用smarty内置的literal标签,此标签内的数据将会被当做文本处理。例如

{literal}

<script language=javascript>

  ........

</script>

{/literal}

有时,我们需要输出定界符{ },则可以使用{ldelim}和{rdelim}标签来输出左右定界符。

普通分类: 
shiping1 的头像

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

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

普通分类: 
shiping1 的头像

smarty 的大括号 冲突问题

// javascript 或者 html 注释里也不能含有 左括号 右括号 box.add({ldelim "url":"图片地址","title":"悬浮标题","href":"链接地址" {rdelim})
smarty 的大括号 冲突问题

{ldelim}   来替换{

{rdelim}   来替换}

 

或者在有{和}的外面加上如相的标签

{literal}

{/literal}

 

普通分类: 
Subscribe to RSS - smarty