Hallo Matthias
zuerst einmal Danke fuer die Antwort!
Du schreibst:
Indem Du die Zeile <?php require 'menu.php'; ?> durch einen Marker ersetzt (###MY_SCRIPT1###) und im TSCode diesem Marker den Typ PHP_SCRIPT und Dein Skript zuweist.
Das Problem liegt noch ein wenig anders, ich habe im Template bereits alles vorbereitet und mit Markers ersetzt.
Dies funktioniert eigentlich auch korrekt, das php script wird ausgefuehrt der Inhalt zurueckgeschrieben. Aber ich moechte meinem php Script menu.inc (resp. einer function in diesem script) eine Variable die einen Navigationsindex enthaelt und im script ausgewertet werden soll, uebergeben.
So sieht das Setup aus, das auch funktioniert:
**********************************************
...
page.config.includeLibrary = fileadmin/scripts/include.inc
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/templates/navigationTemplate.html
workOnSubpart = DOCUMENT_BODY
...
marks.PHP_INCLUDE = PHP_SCRIPT
marks.PHP_INCLUDE.file = fileadmin/templates/navigation.inc
marks.INHALT < styles.content.get
******************************************
im include.inc gebe ich mein script an:
*****************************************
<?php
include("fileadmin/templates/menu.inc");
?>
******************************************
und mit
...marks.PHP_INCLUDE.file = fileadmin/templates/navigation.inc
verweise ich auf das script das dann letztendlich auch auf
"mein orginal" menu.inc verweist. Menu.inc hat die function user_getMenus($currScript) DA moechte ich eben die Variable aus dem Template Setup uebergeben,
die je nach Navigationseintrag fuer jede Seite anders ist:
*********************************************
<?php
$menu_object = new menu(); // New instance is created
$contentBefore = $this->cObjGetSingle($conf["cObj"],$conf["cObj."]);
$content = $contentBefore.$menu_object->user_getMenus($curr);
$content = $this->stdWrap($content,$conf["stdWrap."]);
?>
*********************************************
Und zum Schluss noch menu.inc das eben die Navigation
zurueckgibt und alle menus (je nach index) generiert.
menu.inc
*********************************************
<?php
class menu {
function user_getMenus($curr) {
#Dieser Index sollte natuerlich nicht hart codiert sein,
#sondern eben aus dem Template, resp. Konstante
#fuer jeden Eintrag uebergeben werden koenen. $currScript = "2_2";
#$currScript = $curr;
$MenuStruktur = array(
"1" => array("Sektion" , "$PHP_SELF?currScript=1" ),
"1_1" => array("Wer sind wir?" , "index.php?id=59" ),
"1_2" => array("Statuten" , "index.php?id=60" ),
"1_3" => array("Vorstand" , "index.php?id=53" ),
....
return $allMenus;
}
}
?>
P.S. Wenn ich nicht den ganzen Umweg ueber page.config.includeLibrary und navigation.inc mache,
sondern nur mein menu.php dem Marker PHP_SCRIPT uebergebe wird das script menu.php zwar ausgefuehrt, aber der Inhalt nie an der Stelle des Markers eingefuellt, sondern ganz zu Beginn der HTML Seite.
Vielleicht hat noch jemand eine Idee??
Gruss, rosebud