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 » Fr 16. Mär 2007, 17:40

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: 10643
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Sa 17. Mär 2007, 09:28

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 » Mo 19. Mär 2007, 12:37

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 » Mo 19. Mär 2007, 18:21

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