[TYPO3-UG Denmark] Problem med billede i frontend plugin
Peter Klein
peter at clioonline.dk
Fri Aug 26 12:13:47 CEST 2011
Hej Søren.
Du får ingen tekst ud fordi dine paremeters er forkerte.
> $gifBuilderConf['file.']['40.']['value'] = 'test';
Der er ikke noget der hedder "value" i et GIFBUILDER TEXT objekt.
> $gifBuilderConf['file.']['40.']['text.']['data'] = 'test';
Her forsøger du at hente teksten fra et felt i din plugin der hedder
"test"
>$gifBuilderConf['file.']['10.']['file.']['import'] =
>'uploads/tx_minextension/'.$this->getFieldContent("billede");
Ang. billede, så skal det ikke være file.import da du allerede har
path, så $gifBuilderConf['file.']['10.']['file'] = .. burde virke.
At lave TypoScript som PHP array giver let problemer, og er ikke
særlig konfigurerbart.
Hvis du er smart, så lægger du den slags ud i TypoScript setup, og så
bruger PHP til at gøre dine values tilgængelige i TypoScript og til at
hente resultatet.
Eksempel.
I dit Plugin TypoScript setup laver du et GIFBUILDER objekt, opbygget
som det du nu har i PHP.
mitBillede = IMAGE
mitBillede.file = GIFBUILDER
mitBillede.file .....
Men istedet for $this->getFieldContent("billede"), overfører vi den
værdi til TypoScript, så du kan tilgå den som:
.file.field = billede
I dit PHP script har du en variabel med billedet (og måske også nogle
andre variabler du vil bruge i TypoScript), den putter du ind i et
array:
-- cut --
$myTSFields = array(
'billede' =>
'uploads/tx_minextension/'.$this->getFieldContent("billede"),
'andenVar' => 123
);
-- cut --
For at gøre dem tilgængelige i TypoScript, så smider du din array over
i $this->cObj->data, sådan her:
-- cut --
$this->cObj->data = $myTSFields;
-- cut --
Og for at få resultatet af TypoScript objektet "mitBillede" tilbage i
PHP, gør du bare dette:
-- cut --
$this->cObj->cObjGetSingle($this->conf['mitBillede'],
$this->conf['mitBillede.']);
-- cut --
Du kan læse lidt mere om det på TYPO3 Wiki..
http://wiki.typo3.org/wiki/TypoScript_-_PHP_Interaction
MvH
Peter Klein
On Mon, 22 Aug 2011 14:49:09 +0200, Søren Bryder Nielsen
<soerenb at gmail.com> wrote:
>Hej UG
>
>Jeg er ved at lave et lille frontend plugin, og vil gerne have at mit
>plugin laver et billede med GIFBUILDER. Jeg har skrevet følgende kode:
>
>$gifBuilderConf['file'] = 'GIFBUILDER';
>$gifBuilderConf['file.']['XY'] = "520,300";
>
>$gifBuilderConf['file.'][10] = 'IMAGE';
>$gifBuilderConf['file.']['10.']['file.']['import'] =
>'uploads/tx_minextension/'.$this->getFieldContent("billede");
>$gifBuilderConf['file.']['10.']['maxW'] = '520';
>
>$gifBuilderConf['file.'][30] = 'BOX';
>$gifBuilderConf['file.']['30.']['opacity'] = '50';
>$gifBuilderConf['file.']['30.']['dimensions'] = '0,200,520,40';
>$gifBuilderConf['file.']['30.']['color'] = '#6d3fc2';
>
>$gifBuilderConf['file.'][40] = 'TEXT';
>$gifBuilderConf['file.']['40.']['value'] = 'test';
>$gifBuilderConf['file.']['40.']['text.']['data'] = 'test';
>$gifBuilderConf['file.']['40.']['fontFile'] =
>'fileadmin/template/main/geneva.ttf';
>$gifBuilderConf['file.']['40.']['fontColor'] = '#000000';
>$gifBuilderConf['file.']['40.']['fontSize'] = '20';
>$gifBuilderConf['file.']['40.']['offset'] = '20,230';
>
>$currentImageCode = $this->cObj->IMAGE($gifBuilderConf);
>
>Det eneste den laver, er dog et hvidt billede, der er den rigtige
>størrelse, og med min BOX over. Den importerer dog ikke mit billede,
>og laver heller ikke den TEXT jeg har defineret.
>
>Nogen der kan fortælle mig hvad jeg gør forkert?
>
>Mvh
>
>Søren Nielsen
More information about the TYPO3-UG-Denmark
mailing list