smarty中常用方法实例总结_PHP
本文实例总结了smarty中常用方法。分享给大家供大家参考。具体如下:
1. Smarty中foreach的index、iteration的使用
.index包含当前数组索引,从零开始。
index示例
{* The header block is output every five rows *} {* 每五行输出一次头部区块 *} <table> {foreach from=$items key=myId item=i name=foo} {if $smarty.foreach.foo.index % 5 == 0} <tr><th>Title</th></tr> {/if} <tr><td>{$i.label}</td></tr> {/foreach} </table>
.iteration包含当前循环次数,与index不同,从1开始,每次循环增长1。
iteration和index示例
{* this will output 0|1, 1|2, 2|3, ... etc *} {* 该例将输出0|1, 1|2, 2|3, ... 等等 *} {foreach from=$myArray item=i name=foo} {$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration}, {/foreach}
2. smarty中section的嵌套使用
示例1:
$bookmarks = array('0' => array('name'=> 'n1', 'url'=>'url2'), '1' => array('name'=> 'n21', 'url'=>'url22')); $categories= array('0' => array('cate_id'=> 'n1', 'cate_name'=>'url2'), '1' => array('cate_id'=> 'n21', 'cate_name'=>'url22')); {section name='bm' loop=$bookmarks} Name:$bookmarks[bm].name URL:$bookmarks[bm].url {section name='cate' loop=$categories[bm]} $categories[bm][cate].cate_id $categories[bm][cate].cate_name {/section} {/section} ::::
示例2:
$lists = array(); for(...){ $oneList['dateTime'] = date("Y-m-d"); $oneList['detailList'] = array(); for(....){ $oneList['detailList'][$j]['count'] = $onecout; $oneList['detailList'][$j]['title'] = $onetitle; } $lists[] = $oneList; } ::::: {section name=loop loop=$lists} {$lists[loop].dateTime} {section name=loop2 loop=$lists[loop]["detailList"]} {$lists[loop]['detailList'][loop2].title} {$lists[loop]["detailList"][loop2].count} {/section} {/section}
3. 其他常用关键字
<{section loop= $varName[,start=$start,step=$setp,max=$max,$show=true]}>
name: section的名称,不用加$;
$loop: 要循环的变量,程度中要使用assign对这个变量进行操作。
$start: 开始循环的下标。默认为0;
$step: 每次循环下标的增数;
$show : boolean型。决定是否对于这块进行显示。默认为true;
<{section}>的属性;
index:循环下标。默认为0;
index_prev:当前下标的上一个值,默认为-1;
index_next:当前下标的下一个值,默认为1;
first:是否为第一下循环;
last:是否为最后一个循环;
iteration:循环个数;
rownum:当前行号,iteration的别名;
loop:最后一个循环号。Section的循环次数;
show:是否显示;
<{section loop=$News}> 新闻编号:<{$News[loop].newID}><br> 新闻内容:<{$News[loop].newTitle}><br> <{sectionelse}> I am sorry <{/section}>
if用法:
{if $list[row].name eq "1"} 星期1 {elseif $list[row].name=="2"} 星期2 {else} 默认 {/if}
4. smarty 系统变量
{* 显示URL中的page值($_GET)http://www.example.com/index.php?page=foo *}
{$smarty.get.page}
{* 显示来自一个表单的"page"变量($_POST['page'])*}
{$smarty.post.page}
{* 显示COOKIE变量"username"的值($_COOKIE['username'])*}
{$smarty.cookies.username}
{* 显示服务器变量"SERVER_NAME"($_SERVER['SERVER_NAME'])*}
{$smarty.server.SERVER_NAME}
{$smarty.server.PHP_SELF}
{$smarty.server.SCRIPT_NAME}
{* 显示系统环境变量"PATH" *}
{$smarty.env.PATH}
{* 显示PHP会话变量"id"($_SESSION['id'])*}
{$smarty.session.id}
{* 显示变量"username",不论来自get/post/cookies/server/env *}
{$smarty.request.username}
$smarty}保留变量可以被用于访问一些特殊的模板变量,以下是全部页面请求变量。
以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path,{$smarty.request.username}取得get/post/cookies/server/env的复合变量。
{$smarty.now}变量用于访问当前时间戳.
可以用 date_format调节器格式化输出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
{$smarty.const}
你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}
{$smarty.capture}
可以通过{capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.
{$smarty.config}
{$smarty}变量 可以访问已经加载的config变量.
例如 {$smarty.config.foo}就可以表示 {#foo#}.
{$smarty.section}, {$smarty.foreach}
{$smarty} 变量可以访问'section'和'foreach'循环的属性.
{$smarty.template}
显示当前被处理的模板的名字.
{$smarty.version}
显示smarty模板的版本
{$smarty.ldelim}
显示左分隔符
{$smarty.rdelim}
显示右分隔符$smarty}保留变量可以被用于访问一些特殊的模板变量,以下是全部页面请求变量。
以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path,{$smarty.request.username}取得get/post/cookies/server/env的复合变量。
{$smarty.now}变量用于访问当前时间戳.
可以用 date_format调节器格式化输出. 例如{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
{$smarty.const}
你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}
{$smarty.capture}
可以通过{capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.
{$smarty.config}
{$smarty}变量 可以访问已经加载的config变量.
例如 {$smarty.config.foo}就可以表示 {#foo#}.
{$smarty.section}, {$smarty.foreach}
{$smarty} 变量可以访问'section'和'foreach'循环的属性.
{$smarty.template}
显示当前被处理的模板的名字.
{$smarty.version}
显示smarty模板的版本
{$smarty.ldelim}
显示左分隔符
{$smarty.rdelim}
显示右分隔符
希望本文所述对大家基于smarty模板的php程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam pembangunan web moden, pemisahan bahagian hadapan dan bahagian belakang telah menjadi trend yang sangat popular, yang membolehkan pembangun mengatur projek dengan lebih baik dan meningkatkan kecekapan pembangunan projek. PHP dan Smarty ialah dua teknologi yang sangat biasa digunakan, yang boleh digunakan untuk mencapai pembangunan pemisahan bahagian hadapan dan belakang. Artikel ini akan memperkenalkan cara menggunakan PHP dan Smarty untuk mencapai pembangunan pemisahan bahagian hadapan dan belakang. Apakah pembangunan pemisahan bahagian hadapan dan bahagian belakang Dalam pembangunan web tradisional, bahagian hadapan bertanggungjawab terutamanya untuk pembentangan halaman dan logik interaksi dengan bahagian belakang. Bahagian belakang bertanggungjawab terutamanya untuk perniagaan

Pada masa kini, pembangunan laman web tidak dapat dipisahkan daripada enjin templat komponen yang penting. Enjin templat merujuk kepada alat yang menggabungkan templat halaman dan data untuk menjana kod HTML dengan format tertentu. Dalam pelbagai rangka kerja pembangunan laman web, enjin templat merupakan komponen penting, kerana enjin templat boleh mengurangkan pertindihan kod dan meningkatkan dinamik halaman dengan banyak. Salah satu enjin templat yang paling biasa dan popular ialah Smarty. Smarty ialah DSL (DomainSpecif

PHP ialah bahasa skrip sebelah pelayan yang berkuasa yang boleh digunakan untuk membangunkan aplikasi web. Pada hari-hari awal pembangunan web, pengaturcara menggunakan banyak kod HTML dan JavaScript untuk membangunkan aplikasi web. Walau bagaimanapun, pendekatan ini sukar untuk dikekalkan dan diurus kerana kod HTML dan JavaScript boleh menjadi sangat kompleks. Untuk menyelesaikan masalah ini, enjin templat Smarty telah dicipta. Smarty ialah enjin templat yang dibangunkan berdasarkan PHP untuk mengurus dan menjana W

Sebagai pembangun PHP, menggunakan enjin templat adalah pilihan semula jadi. Smarty ialah enjin templat popular yang menyediakan cara untuk memisahkan HTML/CSS/JavaScript daripada kod PHP, membolehkan pembangun mengatur dan mengurus projek dengan lebih baik. Dalam artikel ini, kita akan belajar cara menggunakan enjin templat Smarty semasa pembangunan PHP. 1. Pasang Smarty Sebelum ini, kita mesti memasang Smarty. Dalam artikel ini kami akan menggunakan Komposer untuk memasang

Pemahaman mendalam tentang kaedah biasa tatasusunan Java: Kunci untuk meningkatkan kecekapan pengaturcaraan memerlukan contoh kod khusus Pengenalan: Java ialah bahasa pengaturcaraan yang popular, dan tatasusunan ialah salah satu struktur data yang biasa digunakan dan penting dalam Java. Kemahiran dalam kaedah biasa tatasusunan Java adalah sangat penting untuk meningkatkan kecekapan pengaturcaraan dan kualiti kod. Artikel ini akan menyelidiki kaedah biasa tatasusunan Java dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan kaedah ini dengan lebih baik. 1. Penciptaan dan permulaan tatasusunan dalam Java, kita boleh gunakan

thinkphp ialah rangka kerja PHP ringan sumber terbuka yang digunakan untuk memudahkan pembangunan aplikasi perusahaan dan pembangunan aplikasi WEB tangkas menggunakan ThinkPHP, pembangun boleh membangunkan dan menggunakan aplikasi dengan lebih mudah dan cepat. Smarty ialah enjin templat PHP yang lebih baik boleh membantu pembangun mengasingkan logik program dan paparan halaman (pemisahan logik perniagaan dan logik paparan), supaya pengaturcara boleh menukar kandungan logik program tanpa menjejaskan reka bentuk halaman kakitangan bahagian hadapan, dan kakitangan bahagian hadapan boleh semula- Mengubah suai halaman tidak akan menjejaskan logik program program.

Vue ialah rangka kerja JavaScript popular yang digunakan untuk membangunkan aplikasi bahagian hadapan. Ia menyediakan ciri ekspresif yang membolehkan pembangun membina aplikasi web interaktif dengan mudah. Kitaran hayat Vue ialah peringkat yang dilalui oleh komponen Vue semasa masa jalan Peringkat ini membolehkan pembangun melaksanakan beberapa kod utama semasa kitaran hayat komponen. Artikel ini akan memperkenalkan kitaran hayat Vue dan kaedah lazimnya secara terperinci. Kitaran hayat Vue Vue menyediakan 8 cangkuk kitaran hayat yang berbeza, yang berbeza

CakePHP ialah rangka kerja PHP sumber terbuka yang menyediakan ciri dan alatan yang kaya untuk mempercepatkan pembangunan aplikasi web. Salah satu ciri yang berkuasa ialah enjin templat. Secara lalai, CakePHP menggunakan sintaks asli PHP untuk pemaparan paparan. Walau bagaimanapun, kadangkala kita mungkin mahu menggunakan enjin templat lain, seperti Smarty. Artikel ini akan memperkenalkan cara menggunakan Smarty dalam CakePHP. 1. Apakah Smarty? Smarty ialah rangka kerja PHP berasaskan templat yang
