#1 (permalink)  
Alt 27.08.2008, 10:03
Neuer Benutzer
 
Registriert seit: 22.08.2008
Beiträge: 5
Frage Smarty-Include in Mail-Templates

Hallo,

ich möchte das CSS für die HTML-Mails gerne per Smarty-Include einbinden damit das leichter zu pflegen ist & der gleiche Code sich nicht wiederholt. [Ganz klare Sache an sich ...]
Das CSS hab ich ausgelagert in mail_css.html (im Ordner /mail/german) in den Mail-Templates hab folgende Include versucht:
HTML-Code:
{include file="mail_css.html"}
{include file="mail/german/mail_css.html"}
{include file="file:mail/german/mail_css.html"}
Das klappt leider alles nicht. Scheinbar ist innerhalb von XT:C die übliche Smarty-Variable $template_dir nicht gesetzt. Nur wenn ich den Pfad absolut angebe funktioniert der Include:
HTML-Code:
{include file="file:/www/htdocs/xtcommerce/templates/shop_xyz/mail/german/mail_css.html"}
Das ist aber leider nicht praktikabel, weil die Pfade auf dem Produktivsystem ja anders sind und das Template damit nicht mehr variabel bleibt.

Wie stellt man das denn korrekt innerhalb eines XT:C-Templates an?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 27.08.2008, 11:17
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 11
Standard

Die Smarty Befehle werden doch nicht im template verzeichnis verarbeitet. Die hier enthaltenen Dateien werden doch schon "included". Er sucht also im hauptverzeichnis nach der mail_css.html

Ich kenne mich mit smarty kaum aus, aber das müsste klappen:

{$tpl_path}/mail/german/mail_css.html
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 27.08.2008, 12:05
Neuer Benutzer
 
Registriert seit: 22.08.2008
Beiträge: 5
Cool

Zitat:
Zitat von ziehdirdasmalrein Beitrag anzeigen
Ich kenne mich mit smarty kaum aus, aber das müsste klappen:

{$tpl_path}/mail/german/mail_css.html
Das Problem ist dabei dann leider die Verschachtelung der Smarty-Tags:
HTML-Code:
{include file="file:{$tpl_path}mail/german/mail_css.html"}
damit krieg ich auch nur eine Fehlermeldung.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 27.08.2008, 12:22
Neuer Benutzer
 
Registriert seit: 22.08.2008
Beiträge: 5
Ausrufezeichen Die Lösung

Wer suchet der findet. :-)

Mit dem Smarty-PHP-Tag kann man per PHP auf die XT:C-Konstanten zugreifen und den Include dann mit PHP erledigen:
PHP-Code:
{php}
    include(
DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/german/mail_css.html');
{/
php
Sehr schön. :-) So kann ich auch gleich noch den Mail-Footer auslagern.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 27.08.2008, 14:51
Neuer Benutzer
 
Registriert seit: 10.01.2006
Beiträge: 11
Standard

Oh, super, das hilft mir auch gerade bei ner anderen sache
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
mailtemplates, smartyinclude

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
xt:Commerct Shopsystem mit der Smarty Enginge philipp1988 Installation und Konfiguration 5 24.03.2011 17:03
Smarty Richtig Installieren Beginner2 Installation und Konfiguration 18 10.06.2004 14:50


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand