Jump to content
xt:Commerce Community Forum

Smarty-Include in Mail-Templates


kid474

Recommended Posts

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:


{include file="mail_css.html"}
{include file="mail/german/mail_css.html"}
{include file="file:mail/german/mail_css.html"}
[/HTML]

Das klappt leider alles nicht. Scheinbar ist innerhalb von XT:C die übliche Smarty-Variable [font="Courier New"]$template_dir[/font] nicht gesetzt. Nur wenn ich den Pfad absolut angebe funktioniert der Include:

[HTML]
{include file="file:/www/htdocs/xtcommerce/templates/shop_xyz/mail/german/mail_css.html"}
[/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?

Link to comment
Share on other sites

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:


{include file="file:{$tpl_path}mail/german/mail_css.html"}
[/HTML]

damit krieg ich auch nur eine Fehlermeldung. :confused:

Link to comment
Share on other sites

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}
include(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/mail/german/mail_css.html');
{/php}
[/PHP]

Sehr schön. :-) So kann ich auch gleich noch den Mail-Footer auslagern.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...