Smarty Forum Index Smarty
The discussions here are for Smarty, a template engine for the PHP programming language.
Dedicated server web hosting provided by Guru-host.eu.
Templates und Vererbung....

 
Post new topic   Reply to topic    Smarty Forum Index -> Language: German
View previous topic :: View next topic  
Author Message
eazytrader
Smarty Rookie


Joined: 16 Jul 2010
Posts: 31

PostPosted: Tue Jul 12, 2011 4:16 pm    Post subject: Templates und Vererbung.... Reply with quote

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
View user's profile Send private message
rodneyrehm
Administrator


Joined: 30 Mar 2007
Posts: 698
Location: Germany, border to Switzerland

PostPosted: Tue Jul 12, 2011 4:54 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
eazytrader
Smarty Rookie


Joined: 16 Jul 2010
Posts: 31

PostPosted: Tue Jul 12, 2011 5:10 pm    Post subject: Reply with quote

Hey danke das geht ja super!! Smile 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
View user's profile Send private message
rodneyrehm
Administrator


Joined: 30 Mar 2007
Posts: 698
Location: Germany, border to Switzerland

PostPosted: Tue Jul 12, 2011 5:17 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
eazytrader
Smarty Rookie


Joined: 16 Jul 2010
Posts: 31

PostPosted: Tue Jul 12, 2011 5:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Smarty Forum Index -> Language: German All times are GMT
Page 1 of 1

 
Jump to:  
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
Protected by Anti-Spam ACP