smarty模板中for循环的扩展插件_PHP教程
smarty是php开发中非常流行的一个模板,以前曾发过一篇文章php smarty中文截取插件开发示例是说明如何开发smarty插件的,这篇文章将分享一下如何为smarty模板做一个for循环的扩展插件,方面我们日常的程序开发。
首先说说这个for循环扩展是做什么用的吧。今天在改以前的一个网站的时候,由于一些特定的原因需要在smarty模板中做一个for循环,虽然smarty是可以在模板中以{php}......{/php}标签的形式来直接书写php语句语法的。但由于循环中要用到模板中的变量的值,而在模板中直接写的php语句没办法获取到模板变量中的值,所以这个想法就行不通了,最后就想到是不是也可以实现在smarty模板中直接使用for循环呢?
下面是作者为smarty增加一个for循环扩展插件的具体步骤。
(1)在smarty模板的安装目录下的plugins目录内新建一个文件,命名为 block.for.php ,然后在这个文件里面输入如下代码:
<?php function smarty_block_for($params,$content,&$smarty){ if(is_null($content)){ return; } $start=0; $to=0; $step=1; foreach($params as $k=>$v){ switch($k){ case 'start': case 'to': case 'step': $$k=(int)$v; break; default: $smarty->trigger_error("textformat: 未知属性:'$k'"); } } $_output=''; for($_x=$start;$_x<=$to;$_x+=$step){ $_output.=$content."\n\r"; } return $_output; }
(2)然后就可以直接在smarty模板中使用for循环了,作者的使用案例如下:
php文件部分代码:
$vote='[[[';//我要在模板中将这三个符号转变为三个五角星图片 $smarty->assign('vote',$vote);
smarty模板文件部分代码:
{if false!==$vote|@stripos:'['} {for start=1 to=$vote|@strlen step=1} <img src="/static/imghw/default1.png" data-src="http://www.phpernote.com/images/xing.gif" class="lazy" / alt="smarty模板中for循环的扩展插件_PHP教程" > {/for} {/if}
ok,以上问题解决。大同小异,如果你还需要为smarty扩展更多功能,方法同上,基本上都可以实现。
您可能感兴趣的文章
- smarty 模板中循环表格补充不全的td
- smarty模板中使用php函数以及smarty模板中如何对一个变量使用多个函数
- thinkphp模板中判断volist循环的最后一条记录
- smarty模板中判断数组为空的方法
- smarty模板中给信息添加最新标签
- smarty模板保留变量总结
- php smarty中文截取插件开发示例
- smarty模板中如何生成随机数

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PyCharm是一款功能強大且受歡迎的Python整合開發環境(IDE),提供了豐富的功能和工具,讓開發者可以更有效率地編寫程式碼。而PyCharm的插件機制更是其功能擴充的利器,透過安裝不同的插件,可以為PyCharm增加各種功能和客製化的特性。因此,對於PyCharm新手來說,了解並熟練安裝插件是至關重要的。本文將為你詳細介紹PyCharm插件安裝的全
![在Illustrator中載入插件時出錯[修復]](https://img.php.cn/upload/article/000/465/014/170831522770626.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
啟動AdobeIllustrator時是否會彈出載入插件時出錯的訊息?一些Illustrator用戶在打開該應用程式時遇到了此錯誤。訊息後面緊跟著一系列有問題的插件。此錯誤提示表示已安裝的插件有問題,但也可能是由於VisualC++DLL檔案損壞或首選項檔案受損等其他原因所引起。如果遇到此錯誤,我們將在本文中指導您修復問題,請繼續閱讀以下內容。在Illustrator中載入外掛程式時出錯如果您在嘗試啟動AdobeIllustrator時收到「載入外掛程式時出錯」的錯誤訊息,您可以使用以下用途:以管理員身

用戶使用Edge瀏覽器的過程中可能會添加一些插件來滿足自己更多的使用需求。但是在添加插件時顯示不支援此插件,這該如何解決?今日小編就來給大家分享三種解決方法,快來試試看。 方法一:嘗試用其他的瀏覽器。 方法二:瀏覽器上的FlashPlayer可能過時或遺失,導致此外掛程式不受支援狀態,可在官網下載最新版本。 方法三:同時按下「Ctrl+Shift+Delete」鍵。 點選“清除資料”,重新開啟瀏覽器即可。

Chrome的插件擴充功能安裝目錄是什麼?正常情況下,Chrome外掛程式擴充功能的預設安裝目錄如下:1、windowsxp中chrome外掛程式預設安裝目錄位置:C:\DocumentsandSettings\使用者名稱\LocalSettings\ApplicationData\Google\Chrome\UserData\Default\Extensions2、windows7中chrome插件預設安裝目錄位置:C:\Users\使用者名稱\AppData\Local\Google\Chrome\User

若要擴充PHP函數功能,可以使用擴充和第三方模組。擴充功能提供附加函數和類,可透過pecl套件管理器安裝和啟用。第三方模組提供特定功能,可透過Composer套件管理器安裝。實作案例包括使用擴充解析複雜JSON資料和使用模組驗證資料。

1.UncaughtError:Calltoundefinedfunctionmb_strlen();出現如上錯誤時,說明我們沒裝上mbstring擴展;2.進入PHP安裝目錄cd/temp001/php-7.1.0/ext/mbstring3.啟動phpize(/usr/local/bin /phpize或/usr/local/php7-abel001/bin/phpize)指令來安裝php擴充4../configure--with-php-config=/usr/local/php7-abel

PyCharm社群版支援的插件足夠嗎?需要具體程式碼範例隨著Python語言在軟體開發領域的應用越來越廣泛,PyCharm作為一款專業的Python整合開發環境(IDE),備受開發者青睞。 PyCharm分為專業版和社群版兩個版本,其中社群版是免費提供的,但其外掛程式支援相對專業版有所限制。那麼問題來了,PyCharm社群版支援的插件夠嗎?本文將透過具體的程式碼範例

EclipseSVN插件的安裝和設定方法詳解Eclipse是一個廣泛使用的整合開發環境(IDE),它支援許多不同的插件來擴展其功能。其中之一是EclipseSVN插件,它使開發人員能夠與Subversion版本控制系統進行互動。本文將詳細介紹如何安裝和設定EclipseSVN插件,並提供具體的程式碼範例。第一步:安裝EclipseSVN外掛程式開啟Eclipse
