导航:首页 > 编程语言 > smartyphp方法

smartyphp方法

发布时间:2022-10-20 07:58:16

㈠ smarty 模板怎样使用php标签

smarty本身是不推荐使用php标记的,可以通过编写插件(block,function,modifier)来代替。
smarty默认不开启php标记,需要在创建smarty对象后做如下设置:
$smarty->php_handling = SMARTY_PHP_ALLOW ;

㈡ smarty 用php类的静态方法获取数据的同时assign了一个数组,模版如何获取这个数组变量

给你两个建议:
1.在php页面获取数据后,注册到模板输出
-------PHP页面----------
$data=Proct::getdata();
$smarty->assign('data',$data);
------模板页面--------
{section data=$data name="customer"}
<td>{$data[customer].price}</td>
{/section}

2.使用插件技术(block,function都可以),具体书写方法参考smarty手册中插件部分

㈢ Smarty和php

没看懂楼主的提问,如果是想把php的结果显示在smarty的页面上,这样写:

<php

require 'smarty.php';

$smarty->assign('key',$value); //给key赋值

$smarty->display('你的页面.html');

你的模板页面里用{$key}就可以显示对应值
或者用
{foreach $key as $itemkey=>$value}
{$itemkey},{$value}
{/foreach}流程控制

㈣ smarty模板引擎有什么用,php中怎么用

smarty是一个使用PHP写出来的模板PHP模板引擎.它提供了逻辑与外在html内容的分离.
作用:就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。
具体使用方法是,先将smarty核心文件引入,然后做配置,然后赋值变量到模板,最后到模板进行解析就可以了。
参考教程:http://leadtodream.blog.163.com/blog/static/18520043920151711534369/

㈤ php中smarty疑问

void display (string template [, string cache_id [, string compile_id]])

该函数原形为display(string varname),作用为显示一个模板。简单的讲,它将分析处理过的模板显示出来,这里的模板文件不用加路径,只要使用一个文件名就可以了,它路径我们已经在$smarty->templates(string path)中定义过了。

程序执行完后我们可以打开当前目录下的templates_c与cache目录,就会发
现在下边多出一些%%的目录,这些目录就是Smarty的编译与缓存目录,它由
程序自动生成,不要直接对这些生成的文件进行修改。

第二个可选参数指定一个缓存号,相关的信息可以查看缓存。

通过第三个可选参数,可以指定一个编译号。这在你想把一个模板编译成不同版本时使用,比如针对不同的语言编译模板。编译号的另外一个作用是,如果你有多个$template_dir模板目录,但只有一个$compile_dir编译后存档目录,这时可以为每一个$template_dir模板目录指定一个编译号,以避免相同的模板文件在编译后会互相覆盖。相对于在每一次调用display()的时候都指定编译号,也可以通过设置$compile_id编译号属性来一次性设定。

㈥ smarty怎么引入php文件

<?php
/**
*
* @version $Id: index.php
* @package
* @author www.php100.com
* @action 显示实例程序
*/
include_once("./Smarty/Smarty.class.php"); //包含smarty类文件
$smarty = new Smarty(); //建立smarty实例对象$smarty
$smarty->templates("./templates"); //设置模板目录
$smarty->templates_c("./templates_c"); //设置编译目录
$smarty->cache("./cache"); //缓存目录
$smarty->cache_lifetime = 0; //缓存时间
$smarty->caching = true; //缓存方式
$smarty->left_delimiter = "{#";
$smarty->right_delimiter = "#}";
$smarty->assign("name", "zaocha"); //进行模板变量替换
$smarty->display("index.htm"); //编译并显示位于./templates下的index.htm模板
?>

参考:smarty半小时快速上手教程
http://www.chinaz.com/program/2010/0224/107006.shtml

㈦ thinkphp中如何用内置的smarty调用php中自定义的函数

可以自己写个smarty插件,我以前写过,你根据smarty手册上的提示也可以写出来的。相信自己!

这是我以前写的,转换时间的:

<?php
/**
*时间显示,将Unix时间或普通时间和转为生活时间用语
*/
functionsmarty_modifier_life_time($string)
{
if(strpos($string,'-')||strpos($string,'.'))
{
$string=strtotime($string);
}
$res=time()-$string;
if($res<=60)
{
return'1分钟前';
}elseif($res<=3600){
if($res>=1800&&$res<=1800+60) return'半小时前';
returnfloor($res/60).'分钟前';
}elseif($res<=3600*24){
if($res>=3600*12&&$res<=3600*12+3600) return'半天前';
returnfloor($res/3600).'小时前';
}elseif($res<=3600*24*30){
if($res>=3600*24*15&&$res<=3600*24*15+3600*24) return'半个月前';
returnfloor($res/(3600*24)).'天前';
}elseif($res<=3600*24*30*365){
if($res>=3600*24*30*6&&$res<=3600*24*30*6+3600*24*30) return'半年前';
returnfloor($res/(3600*24*30)).'月前';
}else{
if($res>=3600*24*30*365&&$res<=3600*24*30*365+3600*24*30) return'一年前';
returndate('Y-m-dH:i',$string);
}
}
?>

㈧ php中怎么使用smarty

首先你需要有smarty的包,然后你导入smarty的文件,那个文件里面有对应的参数设置,你可以看着那个文件来设置对应的参数

㈨ smarty标签里的值如何传到php标签中

已经assign一个模版变量$assign,由于要做特殊的循环输出,使用for循环,因此使用到了php标签,但是php语句和模版语句的变量作用域是不同的,因此不能直接获取到
{{php}}
for($i=0;$i<count($assign);$i=$i+2){
echo'
<ul>
<li><spanclass="zz_pic"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i][pic_id])).'"title=""><imgsrc="uploads/thumb_'.$assign[$i][pic].'"alt=""></a></span><spanclass="zz_title"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i][pic_id])).'"title="">'.$assign[$i][title].'</a></span></li>
<li><spanclass="zz_pic"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i+1][pic_id])).'"title=""><imgsrc="uploads/thumb_'.$assign[$i+1][pic].'"alt=""></a></span><spanclass="zz_title"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i+1][pic_id])).'"title="">'.$assign[$i+1][title].'</a></span></li>i>
</ul>';}
{{/php}}
解决的方法是:模版变量全部存在smarty的一个对象里面;只要在for之前进行赋值:$assign=$this->_tpl_vars[assign];
{{php}}
$assign=$this->_tpl_vars[assign];
for($i=0;$i<count($assign);$i=$i+2){
echo'
<ul>
<li><spanclass="zz_pic"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i][pic_id])).'"title=""><imgsrc="uploads/thumb_'.$assign[$i][pic].'"alt=""></a></span><spanclass="zz_title"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i][pic_id])).'"title="">'.$assign[$i][title].'</a></span></li>
<li><spanclass="zz_pic"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i+1][pic_id])).'"title=""><imgsrc="uploads/thumb_'.$assign[$i+1][pic].'"alt=""></a></span><spanclass="zz_title"><ahref="'._url('picture',array('col_key'=>'cert','pic_id'=>$assign[$i+1][pic_id])).'"title="">'.$assign[$i+1][title].'</a></span></li>i>
</ul>';}
{{/php}}

㈩ PHP 中 smarty 要怎么 配置

首先要加载smarty类:Smarty.class.php
然后实例化这类:如$smarty=new Smarty()
主要的几个基本配置:
$smarty->template_dir //设置模板目录
$smarty -> compile_dir //设置编译目录
$smarty -> config_dir //设置配置文件目录
$smarty-> caching //设置缓存状态
$smarty-> cache_dir //设置缓存的路径
$smarty -> debugging //是否允许调试
$smarty -> left_delimiter //设置左定界符
$smarty-> right_delimiter //设置右定界符
$smarty -> cache_lifetime //设置缓存的时间
使用一般就assign(); display();

阅读全文

与smartyphp方法相关的资料

热点内容
浙江标准网络服务器机柜云主机 浏览:587
设置网络的服务器地址 浏览:600
java图形界面设计 浏览:751
纯前端项目怎么部署到服务器 浏览:538
瓜子脸程序员 浏览:505
如何保证服务器优质 浏览:94
小微信aPP怎么一下找不到了 浏览:299
算法纂要学术价值 浏览:975
程序员你好是什么意思 浏览:801
倩女幽魂老服务器如何玩 浏览:561
电子钟单片机课程设计实验报告 浏览:999
看加密频道 浏览:381
程序员算不算流水线工人 浏览:632
三星电视我的app怎么卸载 浏览:44
简述vi编译器的基本操作 浏览:507
让程序员选小号 浏览:91
加强数字货币国际信息编译能力 浏览:584
购买的app会员怎么退安卓手机 浏览:891
程序员的种类及名称 浏览:294
美国程序员薪资 浏览:14