Zum Inhalt springen

Variable in Pfadangaben

Erstellt am 7. März 2011 · 2 Antworten · letzte Antwort am 14. März 2011

Tags: Frage

dom ·

Hallo,

ich bette ein PHP-Skript folgendermaßen ein:

page.20 = PHP_SCRIPT_EXT
page.20.file = fileadmin/pfad/script.inc

Wie kann ich /pfad/ durch eine Angabe aus einer Datenbank-Tabelle ersetzen. I.d.F. tt_address, die Tabelle ###USER_tx_idml2html_katalog### spreche ich für einige Wraps im Setup schon korrekt an. Nur ein Wrap funktioniert hier nicht.

P.S.: Ich hatte tt_address mit dem Kickstarter erweitert

Das Ganze ist für mich weitergehend interessant, weil ich dem Script noch Variablen übergeben muss, die auch aus der tt_address-Tabelle stammen.

Danke und Gruss
Dom

dom ·

Hallo nochmal,

habe mir jetzt allerhand Ansätze zusammengegoogelt, leider funktioniert das Ganze immer noch nicht. Um für Klarheit zu sorgen, ich möchte das PHP-Script in einem Direct-Mail Newsletter verwenden. Die Tabelle tt_address habe ich um zwei Felder erweitert (Katalog und Seite). Ich möchte nun das der Output des Scripts über diese zwei Werte erfolgt und als Newsletter versendet wird. Folgende Möglichkeiten habe ich ausgeschöpft:

katalog = COA
katalog {
     10 = TEXT
     10.value = ./fileadmin/idml2html/
     20 = TEXT
     20.value = ###USER_tx_idml2html_katalog###
     30 = TEXT
     30.value = /pageindex.inc
}

#Ich lasse mir testweise den Wert immer ausgeben, diese Ausgabe ist korrekt
page.15 = TEXT
page.15 < katalog

#1) funktioniert
page.20.file = ./fileadmin/idml2html/katalog1/pageindex.inc

#2) funktioniert nicht
page.20 = PHP_SCRIPT_EXT
page.20.file < katalog

#3) funktioniert nicht
page.20 = PHP_SCRIPT_EXT
page.20.file.stdWrap.cObject < katalog

#4) funktioniert nicht
page.20 = PHP_SCRIPT_EXT
page.20.file {
…alternativ
page.20.file.import {
    cObject = TEXT
    cObject.value < katalog
    cObject.insertData = 1
  }

#5) funktioniert nicht (habe die Seite in katalog1 umbenannt)
page.20 = PHP_SCRIPT_EXT
page.20.file.import {
      cObject = TEXT
      cObject.value = ./fileadmin/idml2html/{field : title}/pageindex.inc
      cObject.insertData = 1
}

Den Parameter Seite lasse ich im Moment noch aussen vor. Mittlerweile nutze ich "mh_php_inculde", weil es angeblich vollständig über TS steuerbar ist, jedoch klappts auch nicht, wenn ich die obigen Versuche auf die EXT anwende.

Bitte um Hilfe!
Danke und Gruss

dom ·

Und auf ein Neues,

ich habs im Prinzip hinbekommen, aber es kommt im Moment leider nicht zu einer vollständigen Ausgabe des Codes. Folgendermaßen übergebe ich die Parameter:

temp.display = TEXT
temp.display.value = ###USER_tx_idml2html_katalog###; ###USER_tx_idml2html_spread###

lib.idml = PHP_SCRIPT
lib.idml {
   file = fileadmin/idml2html/pageindex.inc
   cObject < temp.display
}

Im PHP-Skript empfange ich die Parameter folgendermaßen:

$display = $this->cObjGetSingle('TEXT',$conf,$TSkey='__');
//Ich teile den Parameter am Semikolon auf
$value = split('; ', $display);

//String
$docname = $value[0];
//Integer ???
$number = (int) $value[1];
$showit = array();

//bspw. werden alle echos in das Array geschrieben
$showit[] = ...

//zum Schluss lasse ich das Showit-Array auf $content zusammenfallen
$content = implode($showit);

Wie gesagt es kommt auch was an. Ich glaube das $number die Umwandlung in einen Integer nicht hinkriegt. Kann ich die Parameter auch einzeln übergeben und letzteres als INT definieren?

Edit: Habe ein Test mit $docname und $number gemacht, diese kommen mit gültigen Werten an, aber eben als String.

Bitte um Hilfe
Dom