编写Smarty插件在模板中直接加载数据的详细介绍
本篇文章是对编写Smarty插件在模板中直接加载数据进行了详细的分析介绍,需要的朋友参考下
之前使用smarty的时候,通常是在php程序端读取数据(一般从数据库),网站空间,然后assign给模板的变量,才可以在前端使用这个变量。这样不是不好,只是数据多的时候php端的代码维护起来有点麻烦,特别是当存在很多模板块化得数据时。
所以写了个插件,美国空间,结合之前的crud类实现在前端模板可以加载一些模块化得数据。
复制代码 代码如下:
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty {load_data} function plugin
*
* Type:
function
* Name:
eval
* Purpose: evaluate a template variable as a template
* @link {eval}
* @param array
* @param Smarty
*/
function smarty_function_load_data($params, &$smarty)
{
$class = (!isset($params['class']) || empty($params['class'])) ? 'cls_crud' : trim($params['class']);
(!isset($params['table']) || empty($params['table'])) && exit('`table` is empty!');
$db = $class::factory(array('table' => $params['table']));
//var_dump($params);
if (!empty($params['assign'])) {
//把数据赋值给变量$params['assign'],这样前端就可以使用这个变量了(例如可以结合foreach输出一个列表等)
$smarty->assign($params['assign'], $db->get_block_list(array($params['where']), $params['limit']));
}
}
?>
写成插件除了可以减少很多维护之后,网站空间,还有一个显著的好处就是可以在这个插件中对查询数据库的操作进行统一的格式化和过滤操作。
这样在前端就可以这样加载数据了:
复制代码 代码如下:
{load_data assign="list" table="test" where="`id`{foreach from=$list item=rec}
...
{/foreach}

熱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)

PHP電子郵件範本:客製化和個人化您的郵件內容隨著電子郵件的普及和廣泛應用,傳統的郵件範本已經無法滿足人們對個人化和客製化郵件內容的需求。現在,我們可以透過使用PHP程式語言來創建客製化和個人化的電子郵件範本。本文將為您介紹如何使用PHP來實現這一目標,並提供一些具體的程式碼範例。一、建立郵件範本首先,我們需要建立一個基本的郵件範本。這個模板可以是一個HTM

關於PPT蒙版,很多人肯定對它很陌生,一般人做PPT不會將牠吃透,而是湊活著可以做出來自己喜歡的就行,所以很多人都不知道PPT蒙版到底是什麼意思,也不知道這個蒙版有什麼作用,甚至更不知道它可以讓圖片變得不再那麼單調,想要學習的小伙伴們快來了學習學習,為你的PPT圖片上添上點吧PPT蒙版吧,讓它不再單調了。那麼,PPT蒙版該怎麼添呢?請往下看。 1.首先我們開啟PPT,選擇一張空白的圖片,之後右鍵點選【設定背景格式】,純色選擇顏色就行。 2.點選【插入】,藝術字,輸入字3.點選【插入】,點選【形狀】

C++是一門廣泛應用於各領域的程式語言,其模板元程式設計是一種高階程式技術,可讓程式設計師在編譯時對類型和數值進行變換。在C++中,模板元程式設計是一個廣泛討論的話題,因此在面試中,與此相關的問題也是相當常見的。以下是一些可能會被問到的C++中的模板元程式設計面試常見問題。什麼是模板元程式設計?模板元程式設計是一種在編譯時操作類型和數值的技術。它使用模板和元函數來根據類型和值生成

C++模板特化影響函式重載與重寫:函式重載:特化版本可提供特定型別不同的實現,進而影響編譯器選擇呼叫的函式。函數重寫:衍生類別中的特化版本將覆寫基底類別中的模板函數,影響衍生類別物件呼叫函數時的行為。

Vue中如何實現圖片的模板和蒙版處理?在Vue中,我們經常需要對圖片進行一些特殊的處理,例如添加模板效果或加上蒙版。本文將介紹如何使用Vue實現這兩種圖片處理效果。一、圖片模板處理在使用Vue處理圖片時,我們可以利用CSS的filter屬性來實現模板效果。 filter屬性為元素添加圖形效果,其中的brightness濾鏡可以改變圖片的亮度。我們可以透過改變

Flask-Bootstrap:為Flask應用程式添加模板Flask是一個輕量級的PythonWeb框架,它提供了一個簡單而靈活的方式來建立網路應用程式。它是一款非常受歡迎的框架,但它的預設模板功能有限。若要建立富有吸引力的使用者介面,需使用其他框架或函式庫。這就是Flask-Bootstrap的用武之地。 Flask-Bootstrap是一個基於Twitter

C++模板在實際開發中廣泛應用,包括容器類別模板、演算法模板、泛型函數模板和元編程模板。例如,泛型排序演算法可對不同類型資料的陣列進行排序。

您是否知道使用模板可以提高記筆記的速度以及捕捉重要想法的效率? OneNote有一套現成的範本供您使用。最好的部分是您還可以根據需要設計模板。無論您是學生、企業戰士還是從事創意工作的自由工作者。 OneNote範本可用於以適合您風格的結構和格式記錄重要筆記。範本可以是記筆記過程的大綱。業餘愛好者只是做筆記,專業人士則在模板的幫助下透過結構良好的筆記做筆記並從中汲取聯繫。讓我們看看如何在OneNote中使用範本。使用預設OneNote範本步驟1:按鍵盤上的Windows+R。鍵入Oneno
