06 Februar 2012, 03:08:49 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Smarty Template  (Gelesen 3265 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Chris
Admin
Forenguru
*****
Beiträge: 2003



WWW
« am: 26 August 2010, 12:17:27 »

Hallo zusammen,

Smarty ist die kompilierende Template Eingine und generiert aus dem eigentlichen Template eigene PHP Dateien die im ComplileDir in Abhängigkeit von der Konfiguration eine gewisse Zeit verweilen. Durch das interne "Cache/Compile" System kommt es vor das Änderungen die direkt in den Templates durchgeführt wurden nicht sofort übernommen werden. An einigen Stellen sorgt das natürlich für Verwunderung und kann Zeit und Nerven kosten.

In der Smarty-Konfiguration gibt es die Variable force_compile über welche wir ein ungeprüftes neuschreiben der kompilierten PHP Dateien erzwingen und die sanfte Methode complie_check die prüft ob Änderungen im Template erfolgt sind und erst dann das Template neu kompiliert.

Um Smarty dazu zu bringen bei jedem Aufruf die Templates neu zu generieren/kompilieren setzen wir force_compile auf true:

Code:
$force_compile=true

Hierdurch erreichen wir ein ständiges neuschreiben der "kompilierten" PHP Dateien, was jedoch auch zur Last des Servers und damit der Ladezeiten der Webseite geht. Im Produktivbetrieb sollte dieser Schalter umbedingt wieder auf false gesetzt werden.

Die sanfte Methode, nur geänderte Templates erneut generieren:

Code:
$compile_check=true;

Hierdurch werden nur Templates kompiliert die verändert wurden.

Beispiele für Open Source Lösungen die Smarty nutzen

Einige Open Source Entwicklungen (Shops,CMS,Foren) die mit Smarty Arbeiten haben wir heir aufgezählt und an einem Beispiel erklärt wie man den Wert für force_complie ändern kann.

PrestaShop:

Konfigdatei: /config/smarty.config.php

Kompilieren erzwingen:
Code:
$smarty->force_compile=true;

Nur geänderte Templates neuschreiben:
Code:
$smarty->force_compile=false;
$smarty->compile_check=true;

Template Cache von Hand leeren indem wir die PHP Dateien (nicht den ganzen Ordner) löschen unter:
Code:
tools/smarty/compile/

CMS Made Simple

Bei CMSms wird mit jedem abspeichern der Templates über das Backend der Cache automazisch geleert. Wenn man fpr eine Modul oder ein Plugin den Cache forcieren möchte
kann man sich eine Referenz des Smarty Objektes über das $gCms Objekt über z.B.: folgende Aufruf ableiten:

Kompilieren erzwingen:
Code:
global $gCms;
$smarty = &$gCms->smarty;
$smarty->force_compile=true;

Nur geänderte Templates neuschreiben:
Code:
global $gCms;
$smarty = &$gCms->smarty;
$smarty->force_compile=false;
$smarty->compile_check=true;

XTC eCommerce

Etwas unschön aber, die Datei "Smarty.class.php" aus dem Verzeichnis "includes/classes/Smarty_versionsnummer" öffnen und folgendes setzen:

Kompilieren erzwingen:
Code:
var $force_compile=true;

Nur geänderte Templates neuschreiben:
Code:
var $force_compile=false;
var $compile_check=true;
« Letzte Änderung: 30 Januar 2012, 09:09:27 von Chris » Gespeichert

Development: touchdesign
Webhosting: Homepage-Kosten.de Webhosting Preisvergleich
E-Commerce: ClickandBuy | Sofortüberweisung
Tags: Smarty  Cache  Template 
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  


Ähnliche Themen
Betreff Begonnen von Antworten Aufrufe Letzter Beitrag
Smarty Fehler nach Update auf 1.3.1.1?
E-Commerce - Eigener Onlineshop
Lockesoft 5 1153 Letzter Beitrag 16 Juni 2010, 18:53:07
von Lockesoft
Alte Smarty Version bei Prestashop
E-Commerce - Eigener Onlineshop
piratos 0 891 Letzter Beitrag 30 September 2010, 16:12:09
von piratos
Smarty 2.X läuft langsam aus
HTML, CSS, Layout und Design
piratos 4 1971 Letzter Beitrag 17 Dezember 2010, 13:11:12
von Chris
Youtube Smarty Plugin
PHP, MySQL, Scripte & Co - Dynamische Webseiten
piratos 0 658 Letzter Beitrag 27 September 2011, 13:19:50
von piratos
Hilfe Smarty Template
PHP, MySQL, Scripte & Co - Dynamische Webseiten
Shapeir 1 44 Letzter Beitrag 31 Januar 2012, 08:12:58
von pat
Powered by SMF 1.1.16 | SMF © 2006, Simple Machines | Impressum | Datenschutz
Seite erstellt in 0.065 Sekunden mit 20 Zugriffen.