Below you will find pages that utilize the taxonomy term “Smarty”
May 14, 2010
在smarty中增加类似foreach的功能自动加载数据
"\u003cp\u003e在smarty中使用自定义插件来加载数据(见:), 在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签:\u003c/p\u003e\n\u003cp\u003e第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003eview\u003cbr\u003e\n\u003cbr\u003e\nplain\u003c/a\u003e \u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003ecopy\u003cbr\u003e\n\u003cbr\u003e\nto clipboard\u003c/a\u003e \u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003eprint\u003c/a\u003e \u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003e?\u003c/a\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e//加载\u003c/p\u003e\n\u003cp\u003e数据的开始标签\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ecase‘load’:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e$this-\u0026gt;_push_tag(‘load’);\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ereturn$this-\u0026gt;_complie_load_start($tag_args);\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ebreak;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e//加载数据的结束标签\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ecase‘/load’:\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e$this-\u0026gt;_pop_tag(‘load’);\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ereturn“”;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ebreak;\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e第二步:增加一个方法:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003eview\u003cbr\u003e\n\u003cbr\u003e\nplain\u003c/a\u003e \u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003ecopy\u003cbr\u003e\n\u003cbr\u003e\nto clipboard\u003c/a\u003e \u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003eprint\u003c/a\u003e \u003ca href=\"http://blog.csdn.net/yycai/archive/2009/12/28/5092770.aspx#\"\u003e?\u003c/a\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e/**\u003c/li\u003e\n\u003cli\u003e* 加载数据\u003c/li\u003e\n\u003cli\u003e* @param $tag_args\u003c/li\u003e\n\u003cli\u003e*/\u003c/li\u003e\n\u003cli\u003efunction _complie_load_start($tag_args)\u003c/li\u003e\n\u003cli\u003e{\u003c/li\u003e\n\u003cli\u003e$key = …\u003c/li\u003e\u003c/ol\u003e"
May 14, 2010
Smarty缩图函数
"\u003cp\u003e下载: \u003ca href=\"http://www.21andy.com/blog/wp-content/plugins/coolcode/coolcode.php?p=703\u0026amp;download=function.thumb.php\"\u003efunction.thumb.php\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e/*\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSmarty plugin “Thumb”\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePurpose: creates cached thumbnails\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eHome: \u003ca href=\"http://www.cerdmann.com/thumb/\"\u003ehttp://www.cerdmann.com/thumb/\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCopyright (C) 2005 Christoph Erdmann\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThis library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThis library is distributed in the hope that it will be useful, but WITHOUT ANY …\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e"
May 14, 2010
Smarty高级特性 – 用户自定义函数使用 SMARTY:: register_function;
"\u003cp\u003eSmarty高级 特性 – 用户自定义函数 使用 SMARTY:: register_function;\u003c/p\u003e\n\u003cp\u003e前言:\n很久不用smarty了,因为大多数项目都是比较轻量型的。前段时间 笔者接了个还算可以的项目,下面有几个程序员 ,与一个美工组为项目团队。为了做快速的布署应用 ,也为了小组成员能形成一个统一的view层的控制,选择了smarty。发现smarty果然还是那么的强大,那么的很黄很暴力。\n作者:无喱头\u003c/p\u003e\n\u003cp\u003e故事背景:\n小张是个很漂亮的美工MM,与无喱头搭档已经很多年。请不要误解,无喱头是有老婆女儿的,他们之前没有任何的暧昧关系,仅仅是同事,或者是上下级。\n在两人的多年合作过程中,在很多地方,已经形成了一种默契。在很多时候,喱头提供封装好的php函数,然后通过一些技术 上的修改,可以直接使用小张在模板里引入php函数,这样可以很方便的把模板切成很多小块,便于维护。并且由于可以自定义一些关键字,小张可能很快的取出 想要的一些数据 。\n比如:\n{phpsoho “sort=article\u0026amp;order=ID …\u003c/p\u003e"
April 13, 2010
smarty缓存使用技巧
"\u003cp\u003e\u003cstrong\u003e一、使用缓存\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可.\u003c/p\u003e\n\u003cp\u003e使用cache_lefetime指定 缓存生存时间,单位为秒\u003c/p\u003e\n\u003cp\u003e要对相同页面生成多个不同的缓存,在display或fetch中加入第二参数cache_id, 如$smarty-\u0026gt;display(‘index.tpl’,$my_cache_id);此特性可用于对不同的$_GET进行不同的缓存\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二、清除缓存\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eclear_all_cache();//清除所有缓存\u003c/p\u003e\n\u003cp\u003eclear_cache(‘index.tpl’);// 清除index.tpl的缓存\u003c/p\u003e\n\u003cp\u003eclear_cache(‘index.tpl’,cache_id);//清除指定id的缓存\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e三、使用自定义缓存方式\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e设置cache_handler_func使用自定义的函数处理缓存\u003c/p\u003e\n\u003cp\u003e如:\u003c/p\u003e\n\u003cp\u003e$smarty-\u0026gt;cache_handler_func = “myCache”;\u003c/p\u003e\n\u003cp\u003efunction myCache($action, \u0026amp;$smarty_obj, \u0026amp;$cache_content, $tpl_file=null, …\u003c/p\u003e"
December 31, 2009
smarty局部缓存
"\u003cp\u003eSmarty提供了强大的 缓存功能。但有时我们并不希望整篇文档都被缓存,而是有选择的缓存某一部分内容或某一部分内容不被缓存。例如你在页面上端使用一个带有广告条位置的模板, 广告条可以包含任何HTML、图象、FLASH等混合信息. 因此这里不能使用一个静态的链接,同时我们也不希望该广告条被缓存. 这就需要在 insert 函数指定,同时需要一个函数取广告条的内容信息。smarty也提供了这种缓存控制能力。\u003c/p\u003e\n\u003cp\u003e我们可以使用$smarty-\u0026gt;register_block($params,\u0026amp;$smarty)使整篇页面中的某一块不被缓存。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eindex.tpl:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eXML/HTML代码\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u0026lt;divalign=‘center’\u0026gt;\u003c/li\u003e\n\u003cli\u003ePage created: {“0″|date_format:”%D %H:%M:%S”}\u003c/li\u003e\n\u003cli\u003e\u0026lt;{dynamic}\u0026gt;\u003c/li\u003e\n\u003cli\u003eNow is: {“0″|date_format:”%D %H:%M:%S”}\u003c/li\u003e\n\u003cli\u003e… do other stuff …\u003c/li\u003e\n\u003cli\u003e\u0026lt;{/dynamic}\u0026gt;\u003c/li\u003e\n\u003cli\u003ediv\u0026gt;\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003eindex.php:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eXML/HTML …\u003c/p\u003e"
November 20, 2008
动态网页制作技巧PHP:详细彻底学习Smarty
"\u003cp\u003e页面请求变量\n以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path, {$smarty.request.username}取得get/post/cookies/server/env的复合变量。\u003c/p\u003e\n\u003cp\u003e{$smarty.now}变量用于访问当前时间戳.\n可以用 date_format调节器格式化输出. 例如{$smarty.nowdate_format:”%Y-%m-%d %H:%M:%S”}\u003c/p\u003e\n\u003cp\u003e{$smarty.const}\n你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}\u003c/p\u003e\n\u003cp\u003e{$smarty.capture}\n可以通过 {capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.\u003c/p\u003e\n\u003cp\u003e{$smarty.config}\n{$smarty}变量 可以访问已经加载的config变量. …\u003c/p\u003e"