template in variable holen:
Code:
$tmpl = $this->cObj->fileResource('relativer/Pfad/zu/fileadmin/tmpl.html'); labels ersetzen:
Code:
$sub['###LABEL1###'] = 'was auch immer für ein text';
$sub['###LABEL2###'] = 'was auch immer für ein text 2';
$tmpl = $this->cObj->substituteMarkerInObject($tmpl, $sub,'','');
anschliesend im der main-funktion
erzeugten content zurückgeben.
und schon wird dein Template mit ersetzen labels, die du natürlich selbst definieren musst, an typo zur ausgabe übergeben.
damit obiges funktioniert muss dein template etwa so aussehne
Code:
###LABEL1###
blablabla
vllt noch mehr bla und ###LABEL2###
das heisst die keys deines ersetzungsarrays ($sub) müssen gleich den labelnamen im template sein.
es gibt keinerlei vordefinierten labels.
nochmal zusammengefasst:
pi1/class.deineextension.php
Code:
class tx_deineextension_pi1 extends tslib_pibase {
function main($content,$conf){
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
// Template in string-variable einlesen
$this->cObj->fileResource('rel/Pfad/zu/fileadmin/tmpl.html');
// array erstellen das die zu ersetzenden labels enthält
$sub['###LABEL1###'] = 'was auch immer für ein text';
$sub['###LABEL2###'] = 'was auch immer für ein text 2';
// Mittels typo-funktion labels aus array ersetzen lassen:
$tmpl = $this->cObj->substituteMarkerInObject($tmpl,$sub,'','');
// von deinem plugin erzeugten content an typo zurückliefern:
return $tmpl;
}
} advanced:
um teile des Templates zu bearbeiten oder auszuschneiden musst du den bereich den du ausschneiden willst durch zweimal dasselbe label eingrenzen
z.b.
angenommen dein Template sieht so aus
Code:
###PART_1###
irgendein text eventuell auch mit ###LABEL###
###PART_1###
dann kannst du mittels
Code:
$partTmpl = $this->cObj->getSubpart($tmpl,'###PART_1###');
den String zwischen den beiden ###PART_1###-labels in die Variable $partTmpl einlesen.
diese kannst du nun verändern und anschliessend
durch
Code:
$tmpl = $this->cObj->substituteSubpart($tmpl,'###PART_1###',$partTmpl);
den teil zwischen ###PART_1### und ###PART_1### wieder ersetzen.
ich weiss auch nicht so genau wie ich das genauer erklären soll ohne eine seitenweise abhandlung zu schreiben.
vllt könntest du sonst deine probleme etwas genauer eingrenzen.