Modul-Templates auch im Inputbereich möglich?

Gesperrt
knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Modul-Templates auch im Inputbereich möglich?

Beitrag von knb »

Stehen Modul-Templates eigentlich auch im Inputbereich eines Moduls zur Verfügung?
Also kann man da Code schreiben wie

Code: Alles auswählen

// generate html output
cInclude('classes', 'class.template.php');
if (!is_object($itpl))
{
    $itpl = new Template;
}
$itpl->reset();
$itpl->set('d', '{CAPTION10}', mi18n("Type name of project"));
$itpl->set('d', '{CAPTION20}', mi18n("Project Name"));
$itpl->set('d', '{PROJNAME_DEFAULT}', mi18n("Internal ID"));
$itpl->set('d', '{CAPTION30}', mi18n("PROJECT NAME"));
$itpl->set('d', '{PROJID_DEFAULT}', mi18n("INTERNAL ID, example: R12/04"));
$itpl->set('d', '{CAPTION40}', mi18n("Mark the items that should be shown on the final web page:"));
$itpl->next();
$itemplate = 'somefile_body.html';
$itpl->generate('templates/' . $itemplate);

Da das ganze im Wesentlichen innerhalb eines eval() Statements in der Datei include.tplcfg_edit_form.php ausgeführt wird, könnte es schwierig sein. Auch gibt es im umgebenden Scope der eval() Funktion bereits ein $tpl objekt, zwei Zeilen weiter:

Code: Alles auswählen

                eval($CiCMS_VALUE." \r\n ".$input);
                $modulecode = ob_get_contents();
                $tpl->set('d', 'MODULECAPTION', $modulecaption);
Ich steig durch den dann folgenden Code in der include.tplcfg_edit_form.php einfach nicht durch. Hilfe! :(
Gruss,
Knut
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

also eigentlich sollte das gehen...

du verwendest ja $itpl
$tpl zu verwenden könnte wirklich ein problem verursachen...

zu dem hier

Code: Alles auswählen

$itpl->generate('templates/' . $itemplate);
da würd ich mir nochmal genau den pfad ansehen...
*** make your own tools (wishlist :: thx)
knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb »

Ich dachte auch, es müsste gehen.
Ich habe hier im Forum kein einziges Modul gefunden welches Modultemplates im Inputbereich verwendet. Die Suchfunktion des phpBB stiess bei meinen Recherchen auch an seine Grenzen (
weil die schlüsselwörter Modul, input, output, template, set, etc einfach zu oft in anderem Kontext vorkommen.

Aber ich werde noch mal weiter probieren.
Gruss,
Knut
knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb »

Dieser Code funktioniert :
- geschweifte Klammern müssen weg im $itpl->set() // ui, übersehen :wink:
- absoluten Pfad angeben im $itpl->generate(); // Danke Emergence! :D

Code: Alles auswählen

// generate html output
cInclude('classes', 'class.template.php');
if (!is_object($itpl))
{
    $itpl = new Template;
}
$itpl->reset();
$itpl->set('d', 'CAPTION10', mi18n("Type name of project"));
$itpl->set('d', 'CAPTION20', mi18n("Project Name"));
$itpl->set('d', 'PROJNAME_DEFAULT', mi18n("Internal ID"));
$itpl->set('d', 'CAPTION30', mi18n("PROJECT NAME"));
$itpl->set('d', 'PROJID_DEFAULT', mi18n("INTERNAL ID, example: R12/04"));
$itpl->set('d', 'CAPTION40', mi18n("Mark the items that should be shown on the final web page:"));
$itpl->next();
$itemplate = 'templates/somefile_body.html';



$itpl->generate($cfgClient[$client]["path"]["frontend"] . $itemplate);

Gruss,
Knut
Gesperrt