[TYPO3-german] Flexform Select itemsProcFunc mit Extbase inkl. ConfigurationManager, Repository

Thomas Nussbaumer typo3 at thomasnu.ch
Wed Oct 17 09:21:05 CEST 2012


Hallo Bjoern

Danke für das Beispiel. Soweit waren wir auch schon. Wir möchten jedoch 
aus Flexform auf die selectAction im Plugin zugreifen, weil wir von dort 
ein Konfiguration brauchen. Mit TS kann ich dies wie folgt machen:

lib.selectTeaser = USER
lib.selectTeaser {
     userFunc = tx_extbase_core_bootstrap->run
     extensionName = Example
     pluginName = Teaser
     switchableControllerActions {
         Teaser {
             1 = select
         }
     }
Ich versuche nun dies auf das BE zu übertragen. Ich kenne mich im BE 
wenig aus. Vielleicht hat jemand Tipps zur Lösung.

Gruss. Thomas

Am 17.10.2012 00:27, schrieb Bjoern Haverland:
> Hallo Thomas,
>
> ich habe es nun doch gefunden...
>
> Ich habe wie folgt gemacht:
>
> Eine Klasse angelegt mit user_ davor -> liegt bei mir im  Controller
> Ordner, erbt aber nichts.
> In der user_ Datei befindet sich eine Funktion die ebenfalls mit user_
> beginnt.
> In der Funktion greife ich mit den "alten" Typo3 Boardmitteln auf die DB
> zu.
>   ... = $GLOBALS['TYPO3_DB']->exec_SELECTquery(...);
>
> Die Datei wird per include in der ext_tables inkludiert.
> include_once(t3lib_extMgm::extPath($_EXTKEY).'Classes/Controller/user_AddFlexFormConfigController.php');
>
>
> Nun kannst du auf die Funktion in den FlexForms zugreifen.
>
> <config>
> <type>select</type>
> <itemsProcFunc>user_Tx_Dein_Controller_AddFlexFormConfig->user_getList</itemsProcFunc>
>
> </config>
>
> Dies ist also ein Mix, und nicht "rein" Extbase. Für mich langt es aber...
> Ich habe bisher auch noch nicht ganz heraus gefunden, wie ich aus einer
> FlexForm auf einen Extbase Controller zurückgreife, aber ich bin noch am
> evaluieren. Für das vergangene Projekt war diese Lösung ausreichend.
>
> Viele Grüße
>
> Björn
>
> Am 15.10.2012 08:44, schrieb Thomas Nussbaumer:
>> Hi Björn
>>
>> Unser Problem ist wie diese Funktion aussehen muss, um eine Extbase
>> Action aufzurufen, die die Werte des Select Feldes liefert.
>>
>> Gruss. Thomas.
>>
>> Am 14.10.2012 19:45, schrieb Bjoern Haverland:
>>> Hallo Thomas,
>>>
>>> was spricht denn gegen den Einsatz einer UserFunction zum Erreichen
>>> deines Zieles?
>>>
>>> Viele Grüße
>>>
>>> Björn
>>>
>>> Am 13.10.2012 14:37, schrieb Thomas Nussbaumer:
>>>> Hi David
>>>>
>>>> Ich interessiere mich für deine Arbeit, da ich auch eine bessere
>>>> Auswahl in Flexform brauchen könnte. Erst dachte ich, Extbase richtig
>>>> programmiert löst das Problem. Doch es fehlt der Bootstrap. Ich kann
>>>> aus TS ein Extbase-Plugin aufrufen, etwa so:
>>>>
>>>> lib.selectTeaser = USER
>>>> lib.selectTeaser {
>>>>     userFunc = tx_extbase_core_bootstrap->run
>>>>     extensionName = Example
>>>>     pluginName = Teaser
>>>>     switchableControllerActions {
>>>>         Teaser {
>>>>             1 = select
>>>>         }
>>>>     }
>>>> Vielleicht kannst du dies nach Flexform (BE) übertragen. Ich habe nie
>>>> klassische Extensionen programmiert und kenne mich im BE wenig aus.
>>>> Mittlerweile gibt es jedoch einige SysExt in Extbase. Ich persönlich
>>>> würde das Ganze im FE programmieren und den Teaser durch den FE-Editor
>>>> auswählen lassen.
>>>>
>>>> Eine weitere Lösung, die ich sehe, wäre für jeden Ordner ein eigenes
>>>> Plugin mit Flexform zu erstellen. Dann könnte die PID fest eingesetzt
>>>> werden. Der künftige Aufwand reduziert sich dann auf die Auswahl des
>>>> Teasers im richtig eingefügten Plugin.
>>>>
>>>> Wünsche frohes Codieren.
>>>>
>>>> Gruss. Thomas.
>>>>
>>>> Am 12.10.2012 16:16, schrieb David Gurk:
>>>>> Natürlich könnte man im Flexform auch folgendes machen...:
>>>>> <code>
>>>>> <settings.teaser>
>>>>> <TCEforms>
>>>>> <label>LLL:EXT:mw_puc_teaser/Resources/Private/Language/locallang_db.xml:plugin.listteaser.settings.teaser</label>
>>>>>
>>>>>
>>>>> <config>
>>>>> <type>select</type>
>>>>> <foreign_table>tx_example_domain_model_teaser</foreign_table>
>>>>> <foreign_table_where>AND
>>>>> tx_example_domain_model_teaser.pid=###PAGE_TSCONFIG_ID### AND
>>>>> tx_example_domain_model_teaser.sys_language_uid IN (-1,0) AND
>>>>> tx_example_domain_model_teaser.deleted = ""ORDER BY
>>>>> tx_example_domain_model_teaser.name ASC</foreign_table_where>
>>>>> <size>20</size>
>>>>> <maxitems>15</maxitems>
>>>>> </config>
>>>>> </TCEforms>
>>>>> </settings.teaser>
>>>>> </code>
>>>>>
>>>>> ... und dafür im Page TSConfig der jeweiligen Bereichseinstiegsseite
>>>>> die PAGE_TSCONFIG_ID definieren:
>>>>> <code>
>>>>> TCEFORM.tt_content.pi_flexform.PAGE_TSCONFIG_ID = 10
>>>>> </code>
>>>>>
>>>>> Das Problem was ich damit aktuell habe ist zum einen, dass die
>>>>> aktuell bestehende Auswahl anscheinend verloren geht (Pflegeaufwand)
>>>>> und zum anderen, dass man
>>>>> "TCEFORM.tt_content.pi_flexform.PAGE_TSCONFIG_ID" ja nur einmal
>>>>> definieren kann, und es damit allgemeingültig für alle Plugins mit
>>>>> Flexform-Konfiguration steht. Es ist schade, dass man hier nichts für
>>>>> die einzelnen Plugins definieren kann, wie bei den
>>>>> TCA-Konfigurationen für eine einzelne Spalte einer Extension-Tabelle.
>>>>>
>>>>> -----Ursprüngliche Nachricht-----
>>>>> Gesendet: Donnerstag, 11. Oktober 2012 17:26
>>>>>
>>>>> Hi,
>>>>>
>>>>> Grundlage ist eine Extbase Extension mit der man Teaser erstellen
>>>>> kann. Auf den Seite kann man mittels Plugin aus allen verfügbaren
>>>>> Teaser auswählen, welche angezeigt werden soll.
>>>>>
>>>>>   [...]
>>>>>
>>>>> Nun wollte ich allerdings, dass in den verschiedenen Seitenbereichen
>>>>> nur die Teaser zur Auswahl stehen, die zu dem Bereich gehören. Die
>>>>> Teaser sind in 2 verschieden Ordnern im Seitenbaum abgelegt. Mit den
>>>>> per Konstante definierte StoragePid
>>>>> (plugin.tx_example.persistence.storagePid) möchte ich nun auf den
>>>>> einzelnen Ordner zugreifen.
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>>
>>>
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>



More information about the TYPO3-german mailing list