[TYPO3-UG Denmark] Frontend plugin med parametre
Troels Kjær Rasmussen
troels at linkfactory.dk
Wed Apr 11 12:41:38 CEST 2007
Hej Mikael.
Kort fortalt inkluderer du din egen xml datastruktur i ext_tables.php via...
t3lib_div::loadTCA('tt_content');
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key,pages';
// denne ekskluderer "gamle" standardfelter fra tt_content som du ikke
skal bruge eller hvor der optræder redundans med dine egne definerede felter
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='pi_flexform';
// Denne linie søger for at flexform-feltet i tt_content vises, når der
er tale om at det er dit plugin der indsættes
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'_pi1',
'FILE:EXT:dinextention/flexform_ds.xml');
//ovenstående tilføjer din egen datastruktur til plugins
//i dit plugin, kan du så hente variabler således:
$this->pi_initPIflexForm(); // skal køres i starten
//og med...
$this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'field_ditfelt');
//henter du så variablen ind.
//Troels, Linkfactory
Mikael M. Hansen skrev:
> Hej
>
> Tak for svaret.
>
> Det ser umiddelbart ud til at virke. Så har jeg lige et tillægsspørgsmål ;)
>
> Flexforms. Hvor finder jeg noget dokumentation på det. Jeg har set det
> på http://wiki.typo3.org/index.php/Extension_Development,_using_Flexforms
> og de to sider i Typo3 bogen. Men er stadig ikke helt med på hvad det
> er for en størrelse. Er der ikke noget mere dokumentation på det?
>
>
> Troels Kjær Rasmussen wrote:
>> Mikael M. Hansen skrev:
>>> Hej
>>>
>>> Jeg har fået et behov som jeg ikke umiddelbart kan se hvordan man løser
>>> så måske kan nogen her på listen give lidt inspiration til at finde den
>>> rigtige retning. Jeg har behov for at kunne give en (måske to)
>>> parameter med til en front plugin så dens output kan variere pba.
>>> parameteren(e). Er det muligt og i så fald hvordan?
>>>
>>> Min ønske-løsning vil være at brugernei backenden kan vælge en plugin
>>> fra en dropdown liste og efterfølgende udfylde et/to felter med
>>> parametrene til den valgte plugin. Er jeg så ovre i en backend module?
>>>
>> Umiddelbart er der mange måder hvorpå du kan løse dit problem. I et mere
>> avanceret scenario, ville man initiere brugen af flexformen til
>> tt_content og så tilføje dine felter til xml´en - pænere, men også mere
>> besværlig at forklare på en mailingliste ;o).
>>
>> Men en quickstarter til din problematik kunne se ud som følgende...
>>
>> 1. Lav din nye extension med extension kickstarteren.
>> 2. Vælg "extend existing db tables" og herunder tt_content.
>> 3. Udvid tt_content med dit ønskede felt (mit_nye_felt).
>> 4. Husk at oprette et frontend plugin med kickstarteren
>> 5. Skriv hele molevitten som extension til typo3conf og installer
>> 6. Brug $this->cObj->data['mit_nye_felt'] til at hente eventuelle data
>> ud fra din feltudvidelse til tt_content i dit frontend plugin. (pi1´eren)
>> 7. Husk evt i ext_tables.php at tilføje
>> t3lib_div::loadTCA('tt_content');$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']
>> = 'mit_nye_felt'; - PÅ denne måde vises dit nye felt kun i backenden når
>> brugerne specifikt har valgt dit plugin.
>>
>> /Troels Kjær Rasmussen - LinkFactory.dk
>> _______________________________________________
>> TYPO3-UG-denmark mailing list
>> TYPO3-UG-denmark at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-ug-denmark
>
More information about the TYPO3-UG-denmark
mailing list