Heim php教程 php手册 编写Smarty插件在模板中直接加载数据的详细介绍

编写Smarty插件在模板中直接加载数据的详细介绍

Jun 06, 2016 pm 08:29 PM
模板

本篇文章是对编写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}

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-E-Mail-Vorlagen: Passen Sie Ihren E-Mail-Inhalt an und personalisieren Sie ihn. PHP-E-Mail-Vorlagen: Passen Sie Ihren E-Mail-Inhalt an und personalisieren Sie ihn. Sep 19, 2023 pm 01:21 PM

PHP-E-Mail-Vorlagen: Passen Sie Ihre E-Mail-Inhalte an und personalisieren Sie sie. Angesichts der Beliebtheit und weiten Verbreitung von E-Mails können herkömmliche E-Mail-Vorlagen den Bedarf der Menschen an personalisierten und individuellen E-Mail-Inhalten nicht mehr erfüllen. Jetzt können wir mithilfe der Programmiersprache PHP benutzerdefinierte und personalisierte E-Mail-Vorlagen erstellen. Dieser Artikel zeigt Ihnen, wie Sie PHP verwenden, um dieses Ziel zu erreichen, und stellt einige spezifische Codebeispiele bereit. 1. Erstellen Sie eine E-Mail-Vorlage. Zuerst müssen wir eine grundlegende E-Mail-Vorlage erstellen. Diese Vorlage kann ein HTM sein

So fügen Sie eine PPT-Maske hinzu So fügen Sie eine PPT-Maske hinzu Mar 20, 2024 pm 12:28 PM

Was die PPT-Maskierung angeht, sind viele Leute sicher nicht damit vertraut, wenn sie PPT erstellen, sondern erfinden es einfach, was ihnen gefällt. Daher wissen viele Menschen nicht, was PPT-Maskierung bedeutet Ich weiß, was diese Maske bewirkt, und ich weiß nicht einmal, dass sie das Bild weniger eintönig machen kann. Freunde, die lernen möchten, kommen und fügen Sie einige PPT-Masken zu Ihren PPT-Bildern hinzu. Wie fügt man also eine PPT-Maske hinzu? Bitte lesen Sie unten. 1. Zuerst öffnen wir PPT, wählen ein leeres Bild aus, klicken dann mit der rechten Maustaste auf [Hintergrundformat festlegen] und wählen eine Volltonfarbe aus. 2. Klicken Sie auf [Einfügen], Wortkunst, geben Sie das Wort ein 3. Klicken Sie auf [Einfügen], klicken Sie auf [Form]

Auswirkungen der C++-Vorlagenspezialisierung auf das Überladen und Umschreiben von Funktionen Auswirkungen der C++-Vorlagenspezialisierung auf das Überladen und Umschreiben von Funktionen Apr 20, 2024 am 09:09 AM

Spezialisierungen von C++-Vorlagen wirken sich auf das Überladen und Umschreiben von Funktionen aus: Funktionsüberladung: Spezialisierte Versionen können unterschiedliche Implementierungen eines bestimmten Typs bereitstellen und sich somit auf die Funktionen auswirken, die der Compiler aufruft. Funktionsüberschreibung: Die spezialisierte Version in der abgeleiteten Klasse überschreibt die Vorlagenfunktion in der Basisklasse und beeinflusst das Verhalten des abgeleiteten Klassenobjekts beim Aufruf der Funktion.

Häufig gestellte Fragen zu Vorlagenmetaprogrammierung in C++ im Vorstellungsgespräch Häufig gestellte Fragen zu Vorlagenmetaprogrammierung in C++ im Vorstellungsgespräch Aug 22, 2023 pm 03:33 PM

C++ ist eine in verschiedenen Bereichen weit verbreitete Programmiersprache. Die Template-Metaprogrammierung ist eine fortschrittliche Programmiertechnologie, die es Programmierern ermöglicht, Typen und Werte zur Kompilierzeit zu transformieren. Die Template-Metaprogrammierung ist ein häufig diskutiertes Thema in C++, daher werden in Interviews häufig Fragen dazu gestellt. Hier finden Sie einige häufig gestellte Fragen in Vorstellungsgesprächen zur Metaprogrammierung von Vorlagen in C++, die Ihnen möglicherweise gestellt werden. Was ist Template-Metaprogrammierung? Template-Metaprogrammierung ist eine Technik zum Bearbeiten von Typen und Werten zur Kompilierungszeit. Es verwendet Vorlagen und Metafunktionen, um basierend auf Typen und Werten zu generieren

So verwenden Sie Vorlagen in OneNote, um die Produktivität zu steigern So verwenden Sie Vorlagen in OneNote, um die Produktivität zu steigern Apr 30, 2023 am 11:31 AM

Wussten Sie, dass Sie mithilfe von Vorlagen schneller Notizen machen und wichtige Ideen effektiver erfassen können? OneNote verfügt über eine Reihe vorgefertigter Vorlagen, die Sie verwenden können. Das Beste daran ist, dass Sie die Vorlage auch nach Ihren Bedürfnissen gestalten können. Egal, ob Sie Student, Unternehmer oder Freiberufler sind, der kreativ arbeitet. Mit OneNote-Vorlagen können Sie wichtige Notizen in einer Struktur und einem Format aufzeichnen, die Ihrem Stil entsprechen. Eine Vorlage kann eine Skizze eines Notizenprozesses sein. Amateure machen sich einfach Notizen, Profis machen sich Notizen und ziehen daraus durch gut strukturierte Notizen mit Hilfe von Vorlagen Zusammenhänge. Sehen wir uns an, wie Sie Vorlagen in OneNote verwenden. Standard-OneNote-Vorlage verwenden Schritt 1: Drücken Sie Windows+R auf Ihrer Tastatur. Geben Sie Oneno ein

Flask-Bootstrap: Vorlagen zu Flask-Anwendungen hinzufügen Flask-Bootstrap: Vorlagen zu Flask-Anwendungen hinzufügen Jun 17, 2023 pm 01:38 PM

Flask-Bootstrap: Vorlagen zu Flask-Anwendungen hinzufügen Flask ist ein leichtes Python-Webframework, das eine einfache und flexible Möglichkeit zum Erstellen von Webanwendungen bietet. Es handelt sich um ein sehr beliebtes Framework, dessen Standardvorlagen jedoch nur über eingeschränkte Funktionalität verfügen. Um attraktive Benutzeroberflächen zu erstellen, nutzen Sie zusätzliche Frameworks oder Bibliotheken. Hier kommt Flask-Bootstrap ins Spiel. Flask-Bootstrap basiert auf Twitter

Wie implementiert man Bildvorlagen und Maskenverarbeitung in Vue? Wie implementiert man Bildvorlagen und Maskenverarbeitung in Vue? Aug 17, 2023 am 08:49 AM

Wie implementiert man Bildvorlagen und Maskenverarbeitung in Vue? In Vue müssen wir häufig spezielle Bearbeitungen an Bildern durchführen, beispielsweise das Hinzufügen von Vorlageneffekten oder Masken. In diesem Artikel wird erläutert, wie Sie mit Vue diese beiden Bildverarbeitungseffekte erzielen. 1. Bildvorlagenverarbeitung Wenn wir Vue zum Verarbeiten von Bildern verwenden, können wir das Filterattribut von CSS verwenden, um Vorlageneffekte zu erzielen. Das Filterattribut fügt dem Element grafische Effekte hinzu und der Helligkeitsfilter kann die Helligkeit des Bildes ändern. wir können uns ändern

Vergleich von C++-Vorlagen und Generika? Vergleich von C++-Vorlagen und Generika? Jun 04, 2024 pm 04:24 PM

Der Unterschied zwischen Vorlagen und Generika in C++: Vorlagen: zur Kompilierzeit definiert, klar typisiert, hohe Effizienz und kleine Codegröße. Generics: Laufzeittypisierung, abstrakte Schnittstelle, bietet Flexibilität, geringe Effizienz.

See all articles