Antwort #4 am: 25. Juni 2014, 14:47:16
Hallo Hanspeter,
vielen Dank für deine Mühe. Ich dachte mir schon so etwas in der Art, es war {$tpl_path}, welches mir die Probleme bereitete.
Ich habe mich nun aber doch für die Lösung von gunnART entschieden, da ich hierbei auch seinen in der Anleitung genannten schönen Smarty modifier verwenden kann. Es ist ja in der Smary-Klasse schon von Haus aus das Verzeichnis templates/dein_template/smarty als zusätzliches Plugin-Verzeichnis definiert
So habe ich es gemacht:
Im Verzeichnis source habe ich in der Datei boxes.php ganz am Ende dies hier eingefügt:
//-----------------------------------------------------------------------------------------// Zusätzliche Sprachvariablen des Templates// -----------------------------------------------------------------------------------------define('DIR_FS_TEMPLATELANG',DIR_FS_CATALOG
.'templates/'.CURRENT_TEMPLATE
. '/lang/');define('TEMPLATELANGFILE',DIR_FS_TEMPLATELANG
. $_SESSION['language'] . '/template_lang.php');if(file_exists(TEMPLATELANGFILE
)) require(TEMPLATELANGFILE
); Unter Verwendung des angesprochenen Modifiers sind dann innerhalb des Templates z.B. folgende Konstrukte möglich:
define('MYCONSTANT_TEST','Ich bin eine Testkonstante');define('MYCONSTANT_TEST2','Sie haben %num% %num:no=Adressen% %num:one=Adresse% %num:more=Adressen% in Ihrem Adressbuch'); {$smarty.const.MYCONSTANT_TEST}
{show text=MYCONSTANT_TEST}
{if "MYCONSTANT_TEST2"|defined}
{php}
$this->assign('zahl',1);
{/php}
{show text=MYCONSTANT_TEST2 num=$zahl}
{/if}
Ich bedanke mich bei allen, die mich auf die richtige Spur gebracht haben, recht herzlich!