五,Smarty模板技术/引擎——自定义函数机制
自建函数是smarty提供的函数,不允许修改,只能被调用;
自定义函数是自己编写函数,注册成为smarty的函数,之后可以被调用;
示例:使用smarty自定义函数的机制,编写一个函数myfun1,通过调用该函数(可以输入必要的参数),完成循环输出5次“hello,顺平”,要求内容,颜色,字体大小均可置顶。
(1)自定义函数
//编写自定义函数
function test1($args){
$str = "";
for($i = 1;$i<= $args['times'];$i++){
$str .= "<font size='{$args['size']}' color='{$args['color']}'>{$args['con']}</font><br/>";
}
return $str;
} //注册自定义函数
$smarty->register_function("lhy1","test1");
<{*tpl中引用自定义函数*}>
<{lhy1 times="5" size="5" con="Hello,顺平" color="red"}>
(2)自定义块
//编写自定义函数
function test2($args,$con){
$str = "";
for($i = 1;$i<= $args['times'];$i++){
$str .= "<font size='{$args['size']}' color='{$args['color']}'>{$con}</font><br/>";
}
return $str;
} //注册自定义函数
$smarty->register_block("lhy2","test2");
<{lhy2 times="5" size="5" color="red"}>
Hello,顺平
<{/lhy2}>
(3)利用samrty插件形式增加自定义函数
在smarty包中plugins文件夹下,新建一个文件function.lhy4.php。
文件名的格式:function.自定义函数名.php
function.lhy4.php代码页内容如下,
函数的名字:function smarty_function_自定义函数名($params, &$smarty)。
<?php function smarty_function_lhy4($params, &$smarty){
$str = "";
for($i = 1;$i<= $params['times'];$i++){
$str .= "<font size='{$params['size']}' color='{$params['color']}'>{$params['con']}</font><br/>";
}
return $str;
}
<{lhy4 times="5" size="5" con="Hello,顺平" color="red"}>
(4)利用samrty插件形式增加自定义块
在smarty包中plugins文件夹下,新建一个文件function.lhy5.php。
文件名的格式:block. 块名.php
function.lhy4.php代码页内容如下,
函数的名字:function smarty_block_块名($params,$content, &$smarty)。
<?php
function smarty_block_lhy5($params, $content, &$smarty){
$str = "";
for($i = 1;$i<= $params['times'];$i++){
$str .= "<font size='{$params['size']}' color='{$params['color']}'>{$content}</font><br/>";
}
return $str;
}
<{lhy5 times="5" size="5" color="red"}>
Hello,顺平
<{/lhy5}>
五,Smarty模板技术/引擎——自定义函数机制的更多相关文章
- 三,Smarty模板技术/引擎——变量操作(2)
1, 变量的分类 ① 从PHP中分配的变量,比如a.php跳转到b.php时候,可以在a.php中分配变量,b.tpl中直接调用.a.php中代码,$smarty->assign(‘str’,’ ...
- 四,Smarty模板技术/引擎-----内建函数
内建函数是smarty提供的函数,不允许修改,只能被调用: 自定义函数是自己编写函数,注册成为smarty的函数,之后可以被调用. PHP的自建函数很多,讲解下<foreach>和< ...
- 一,Smarty模板技术/引擎——简介
Smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使PHP程序员与美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改 ...
- 二 ,Smarty模板技术/引擎——变量操作(1)
1,基本变量 $smarty->assign('data1',3); $smarty->assign('data2',3.45); $smarty->assign('data3',' ...
- Smarty模板技术学习
模板引擎技术:使得php代码和html代码分离的技术就称为"模板引擎技术" 自定义smarty模板技术实现 <?php //迷你smarty原理 class MiniSmar ...
- 在smarty模板中使用PHP函数的方法
在smarty模板中如果要在显示的资料使用php函数时,如果是只有一个参数的函数比如说去空白的trim会写成 sample1 代码如下: <{$colname|trim}> 那如果使用像i ...
- smarty模板技术
一.什么是smarty?smarty是一个使用php写出来的模板php模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用php程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美 ...
- smarty详细使用教程(韩顺平smarty模板技术笔记)
MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...
- Smarty模板技术学习(二)
本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...
随机推荐
- solr的客户端操作:使用solrj进行curd操作
导入相关的jar包 <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-s ...
- 【ZOJ3329】One Person Game
题意 你有三枚色子,第i个色子有ki面,你有一个计数器. 1.开始的时候将计数器调至0 2.扔三个色子,如果色子1是a,色子2是b,色子3是c,则将计数器归零.否则计数器加上三个色子的和. 3.如果计 ...
- Boost::lexical_cast类型转换
1.字符串->数值 C++代码 #include <boost/lexical_cast.hpp> #include <iostream> int main() { us ...
- Spring.net页面属性注入
.条件spring.web程序集 1.1 system.web配置 <httpHandlers> <add verb="*" path="*.aspx& ...
- HUST软测1504班第2周作业成绩:WordCount
说明 本次公布的成绩为第2周个人作业WordCount的结果: 第2周个人作业:WordCount 如果同学对作业结果存在异议,可以: 在毕博平台讨论区的第2周作业第在线答疑区发帖申诉. 或直接在博客 ...
- Smarty的条件判断语句
(1)基本句式{if $name eq "Fred"}Welcome Sir.{elseif $name eq "Wilma"}Welcome Ma'am.{e ...
- 关于如何在服务器上搭建tomcat并发布自己的web项目
最近在学习如何在服务起上搭建tomcat,并发布自己的项目,自己是花了一下午的时间才把里面的东西弄明白,各种百度,各种请教大神,真的是备受折磨啊.好了废话不多说,直接进入主题. 1:众所周知,tomc ...
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式.HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将H ...
- 使用word文档直接发表博客 8 )
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- Matlab神经网络
1. <MATLAB神经网络原理与实例精解> 2. B站:https://search.bilibili.com/all?keyword=matlab&from_source=na ...