morgen allerseits,
in einer extension (zur tabellarischen ausgabe von technischen daten aus einer non-typo3-db) schreibe ich die ergebnisse einer query in ein marker-array; die damit gefüllten marker werden in einem html-template ausgegeben. soweit alles roger - das klappt.
die values der "spaltenüberschriften" für die tabelle kommen nicht aus einer db, sondern sind im ts-setup in mehreren sprachen hinterlegt und werden über eine sprachvariable zugeordnet. die marker hierfür habe ich in der ext_typoscript_setup.txt definiert und will diese nun mit in mein marker-array schreiben.
das habe ich mittels
$markerArray['###MARKER###'] = $this->cObj->cObjGetSingle($conf['MARKERVALUE'],$conf['MARKERVALUE.']);
versucht; es erfolgt keine ausgabe.
ersetze ich den aufruf testweise durch einen string, funktioniert es; schreibe ich anstatt in ein marker-array-element in eine content-variable, funktioniert es auch. #angry#
könnte mir jemand nettes sagen, wo ich daneben liegen könnte??? :o
was steht im TS für MARKERVALUE ? wär glaub doch wichtig
stimmt 🙂
da aber die ausgabe im content funktioniert, wusste ich, dass das hier o.k. ist:
ext_typoscript_setup.txt
plugin.tx_meineExtension_pi1 {
MARKERVALUE = TEXT
MARKERVALUE.value < temp.MARKERVALUE.value
}
setup
[globalVar = GP:L = 1]
temp.MARKERVALUE.value = Überschrift
[global]
nö, nix ist ok ...
plugin.tx_meineExtension_pi1 {
MARKERVALUE = TEXT
MARKERVALUE.value = blubb
}
[globalVar = GP:L = 1]
plugin.tx_meineExtension_pi1.MARKERVALUE.value = Überschrift
[global]
ich würd's ja gerne verstehen... 😢
in meiner "sprachdatei" habe ich
[globalVar...]
temp.MARKERVALUE.value = ...
[/global]
durch
[globalVar...]
plugin.tx_meineExtension_pi1.MARKERVALUE.value = ...
[/global]
ersetzt. das kann ich nachvollziehen. aber das hier nicht:
plugin.tx_meineExtension_pi1 {
MARKERVALUE = TEXT
MARKERVALUE.value = blubb
}
also kann ich hier die wertzuweisung weglassen? funktionieren tut es leider auch dann nicht...
so, vielleicht ist es am besten, wenn ich den code mal im zusammenhang poste, um missverständnisse zu vermeiden. hier die funktion, die die marker für die "spaltenüberschriften" erzeugen *soll*:
function tableHeader() {
$this->conf = $conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$subpart = $this->cObj->getSubpart($this->template,'###HEADER###');
$markerArray = array();
$markerArray['###NAME###'] = $this->cObj->cObjGetSingle($conf['NAME'],$conf['NAME.']);
$markerArray['###LANGUAGE###'] = $this->cObj->cObjGetSingle($conf['LANGUAGE'],$conf['LANGUAGE.']);
$markerArray['###DATE###'] = $this->cObj->cObjGetSingle($conf['DATE'],$conf['DATE.']);
$markerArray['###SIZE###'] = $this->cObj->cObjGetSingle($conf['SIZE'],$conf['SIZE.']);
return $this->cObj->substituteMarkerArrayCached($subpart,$markerArray,$subpartArray,array());
}
das template brauche ich nicht wiedergeben, die marker darin lassen sich ansprechen - funzt also.
hier die function main(), in der die function tableHeader() aufgerufen wird
function main($content,$conf) {
$this->conf = $conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->template = $this->cObj->fileResource('EXT:meineExtension/template.html');
$content .= $this->tableHeader();
$content .= $this->tableBody();
return $this->pi_wrapInBaseClass($content);
}
wäre echt super, wenn jemand durchblicken würde... 😢
oh mann. wieder ein zuvielarbeitundzuwenigschlaf-problem. das nur mit dem geltungsbereich meiner variablen zu tun hatte...
gute nacht :o