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

Thomas Nussbaumer typo3 at thomasnu.ch
Sat Oct 13 14:37:47 CEST 2012


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.
>
>



More information about the TYPO3-german mailing list