[TYPO3-UG Dutch] storage pid

Leen Strijk leenstrijk at tomaatnet.nl
Thu Nov 8 22:31:43 CET 2007


Hallo Patrck,

Ik kan maar niet vinden hoe ik het kan opnemen in de extensie.
Ik heb een bestand setup.txt gemaakt en het volgende er in staan.
plugin.formtest_pi1 {
storagePid =
}
Dit wordt netjes in de objectbrowser opgenomen.
Alleen hoe krijg ik in het script de waarde hiervan?

Als ik $this->conf['storagePid']= $GLOBALS['TSFE']->page['storage_pid'];
In het begin van de main() zet, dan kan ik later met :
	if (!$this->conf['storagePid']){
	$this->conf['storagePid'] = $GLOBALS['TSFE']->page['storage_pid'];
	}
de boel prima aan de gang krijgen. Maar dan pakt hij alleen de waarde 
die in de pagina eigenschappen staat ingevuld bij algemene recordopslag.
Ik moet de regel :
$this->conf['storagePid']= $GLOBALS['TSFE']->page['storage_pid'];
vervangen door iets wat de setupwaarde ophaalt,alleen kan ik niet vinden 
hoe ik dat doe.

Ik heb dus een fe formulier gemaakt die wat gegevens in de db schrijft.
Na de kickstarter was er geen setup.txt aangemaakt dit heb ik zelf 
gedaan in de map pi1/static/




Patrick Broens schreef:
> Leen,
> 
> Het is beter om de storagePid op te nemen in de configuratie van de 
> extensie (Typoscript en/of Flexform), eventueel recursief. Op die manier 
> houdt je de configuratie voor de extensie centraler. Bijna alle 
> extensies die gebruik maken van sysfolders als opslagplaats maken hier 
> gebruik van. In je extensie kun je dan opnemen dat wanneer 
> $this->conf['storagePid'} leeg is, de records gelezen moeten worden van 
> de pagina waarop de plugin geplaatst is, dus $GLOBALS['TSFE']->id;
> 
> Ik ben zelf geen voorstander van het gebruik van de General Storage 
> Page. Als er meerdere plugins gebruik van maken, dan dienen de records 
> van al deze extensies in deze map opgeslagen te worden, terwijl ik ze 
> juist allemaal in een eigen toebedeelde map wil plaatsen.
> 
> In jouw situatie moet je de plugin in de pagina plaatsen en vervolgens 
> de storagePid opgeven in de page record. Dat maakt het overzicht er niet 
> duidelijk op omdat de configuratie niet centraal geregeld wordt maar 
> over meerdere plaatsen. En ja, ook in deze situatie dien je een if 
> statement te gebruiken om te kijken of er een waarde ingevuld is in de 
> page['storage_pid'], maar is dat nou zoveel werk? :-)
> 
> Mijn advies dus: storagePid opnemen in de extensie.
> 
> Patrick
> 
> Leen Strijk wrote:
>> Hallo,
>>
>> Ik heb in een formulier (met kickstarter gemaakt)
>> in de insertquery :
>> 'pid'=> $GLOBALS['TSFE']->id
>> dit is pid waar de gegevens worden opgeslagen.
>>
>> Alleen  $GLOBALS['TSFE']->id staat voor de pid van de pagina waar de 
>> plugin staat.
>>
>> Ik wil dit vervangen door de storage_pid uit de pages tabel.
>>
>> Nu heb ik met debug($GLOBALS['TSFE']); wel het volgende gevonden:
>>
>> $GLOBALS['TSFE']->page['storage_pid']
>>
>> Deze geeft de juiste waarde terug, alleen nu is het zo dat als er geen 
>> sysmap wordt opgegeven krijgt hij geen waarde mee (0 dus)
>>
>> Ik kan me niet voorstellen dat ik nu een if statemant moet maken om 
>> eerst te kijken of $GLOBALS['TSFE']->page['storage_pid'] 0 is en else
>> 'pid'=> $GLOBALS['TSFE']->id te gebruiken.
>>
>> Mijn vraag:
>> Hoe kan ik nu het beste de pid opgeven?
>>
>> Alvast bedankt



More information about the TYPO3-UG-dutch mailing list