 |
Smarty
The discussions here are for Smarty, a template engine for the PHP programming language. Dedicated server web hosting provided by Guru-host.eu. |
| View previous topic :: View next topic |
| Author |
Message |
eazytrader Smarty Rookie
Joined: 16 Jul 2010 Posts: 31
|
Posted: Tue Jul 12, 2011 4:16 pm Post subject: Templates und Vererbung.... |
|
|
Hi,
es gibt z.b. 1 Standard Template Verzeichnis mit allen benötigten Template Dateien. (Template Ordner: "Standard")
Nun benötigt man beispielsweise, kurzfristig ein anderes Template. In diesem anderen Template wurden aber nur 2 Dateien geändert, der Rest bleibt wie im Standard Template. (Template Ordner: "Alternativ").
Gibt es da nun die Möglichkeit, das man nur die 2 geänderten/neuen TPL Dateien in das neue und aktive Template Verzeichnis "Alternativ" packt und den Rest nimmt sich Smarty aus dem "Standard" Ordner?
Das Shopsystem Magento setzt sowas in der Art z.b. ein.
Gruß |
|
| Back to top |
|
rodneyrehm Administrator

Joined: 30 Mar 2007 Posts: 698 Location: Germany, border to Switzerland
|
Posted: Tue Jul 12, 2011 4:54 pm Post subject: |
|
|
| Code: | $smarty->setTemplateDir(array(
'alternativ' => '/pfad/zu/alternativ',
'standard' => '/pfad/zu/standard',
));
$smarty->fetch('foo.tpl'); |
In diesem Fall wird zuerst nach/pfad/zu/alternativ/foo.tpl, dann nach /pfad/zu/standard/foo.tpl gesucht. |
|
| Back to top |
|
eazytrader Smarty Rookie
Joined: 16 Jul 2010 Posts: 31
|
Posted: Tue Jul 12, 2011 5:10 pm Post subject: |
|
|
Hey danke das geht ja super!! Danke dir dafür!
Eine Frage noch dazu:
Gibt es da auch eine Lösung für css Dateien?
Momentan habe ich das so:
| Code: |
$smarty->template_dir = array($_tplDirCurrent, $_tplDirBasic);
$smarty->assign("tpl_dir", $smarty->template_dir[1]);
|
Im TPL dann:
| Code: | | <link rel="stylesheet" type="text/css" href="{$tpl_dir}/css/stylesheet.css" /> |
Wenn es da nichts gibt, dann versuche ich halt eine Funktion zu erstellen.
Ansonsten wäre das natürlich Super.
Gruß und Danke |
|
| Back to top |
|
rodneyrehm Administrator

Joined: 30 Mar 2007 Posts: 698 Location: Germany, border to Switzerland
|
Posted: Tue Jul 12, 2011 5:17 pm Post subject: |
|
|
Ich würde Assets (CSS, Bilder, Javascript, …) ja strikt von templates trennen. Unterm strich musst du das wissen - ich wäre jedoch nie auf die Idee gekommen meine static-servables aus dem template_dir zu liefern. Üblicherweise fahre ich ein Schema ähnlich diesem:
cache/ (cache verzeichnis)
cache/compiled (smarty compiled_dir)
cache/output (smarty cache_dir)
config/ (konfiguration, nicht zwingend das was smarty als config files bezeichnet)
library/ (eigene programm-bibliothek)
externals/ (Smarty und andere fremd-pakete)
templates/ (tpl files)
htdocs/ (zeug was direkt abgerufen werden kann)
htdocs/js
htdocs/css
htdocs/img
htdocs/…
ob was wann und wie du hier unternehmen sollst, bleibt dir überlassen. |
|
| Back to top |
|
eazytrader Smarty Rookie
Joined: 16 Jul 2010 Posts: 31
|
Posted: Tue Jul 12, 2011 5:25 pm Post subject: |
|
|
Naja, aber ich finde die CSS Datei gehört auch zu einem Template.
Schließlich ist diese für einen großen Teil des Designs verantwortlich.
Mit deiner Variante hätte ich ja für jedes Template dieselbe CSS Datei.
Ich finde das unflexibel. Ich versuche dafür eine Funktion zu schreiben.
Danke Dir für deine Bemühungen.
Gruß |
|
| Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|