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@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an