[TYPO3-UG Denmark] Includere script fra anden fil
Jacob Rasmussen
jacob at lightbulb.dk
Thu Jun 3 09:59:42 CEST 2010
> okay. Jeg forsøger med dit eksempel med TS.
>
> Men når jeg så skriver
> $this->cObj->cObjGetSingle($this->conf['tekstfelt'],$this->conf['spot_number.'])
> inde i min klasse der bliver inkluderet, så får jeg at vide, at Using
> $this when not in object context ikke er så godt.
>
> Og det forstår jeg ikke når koden jo er blevet inkluderet i mine
> extension med require_once().
Ah jamen du skal bruge $this->cObj->cObjGetSingle fra den klasse, der
benytter de statiske metoder.
Jeg har lige udvidet eksemplet en smule, så nu bliver der brugt data fra
den statiske metode og samtidigt hentet locallang data fra xml filen i
pi1 mappen. Man kunne også sagtens referere til en locallang fil fra en
anden extension - så skal der bare ændres på stien :)
For at holde eksemplet nogenlunde simpelt, har jeg valgt at benytte
$this->cObj, men vil anbefale at lave en ny instans af cObj, så det
oprindelige data array ikke bliver overskrevet.
TS:
plugin.tx_plugin_pi1 {
tekstfelt = TEXT
tekstfelt {
field = dataFraStatiskMetode
dataWrap = <span>{LLL:EXT:plugin/pi1/locallang.xml:label} |</span>
}
}
Fil: class.tx_plugin_pi1.php
---
require_once(PATH_tslib."class.tslib_pibase.php");
// Inkludering af statisk objekt
require_once(t3lib_extMgm::extPath('plugin').'class.tx_plugin_div.php');
class tx_plugin_pi1 extends tslib_pibase {
function main ($content,$conf) {
$this->conf = $conf;
$this->cObj->data = array(
'dataFraStatiskMetode' => tx_plugin_div::statiskFunktion();
);
$content =
$this->cObj->cObjGetSingle($this->conf['tekstfelt'],$this->conf['tekstfelt.']);
return $content;
}
}
---
Fil: class.tx_plugin_div.php
---
class tx_plugin_div {
public static function statiskFunktion() {
return 'Hello world!';
}
}
---
Hvis det stadig driller, så vil jeg anbefale at du smider nogle
eksempler på din kode, så jeg kan se hvad du præcis ønsker at lave :)
/Jacob
More information about the TYPO3-UG-Denmark
mailing list