Typo3 Extensions mit FlexForms: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 4: Zeile 4:
 
## In der Datei wird im Abschnitt Label auf die Datei: locallang_db.xml verwiesen. In dieser wiederum werden die anderen Sprachen definiert.
 
## In der Datei wird im Abschnitt Label auf die Datei: locallang_db.xml verwiesen. In dieser wiederum werden die anderen Sprachen definiert.
  
Beispiel Änderungen in ext_tables.php:
+
Beispiel ext_tables.php (Ausschnitt):
 +
 
 
<pre>
 
<pre>
 +
# Vor jeder Änderung im TCA Bereich im Frontend muß er auch geladen sein...
 +
t3lib_div::loadTCA('tt_content');
 +
# Wir nutzen FlexForms - deshalb blenden wir die Standard-Felder layout, select_key pages und recursive aus...
 +
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key,pages,recursive';
 +
# Dafür blenden wir das tt_content-Felod pi_flexform ein
 +
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='pi_flexform';
 +
# Nun die Datei angeben in der das Flexform-Schema definiert ist...
 +
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'pi1','FILE:EXT:'.$_EXTKEY.'/flexform_de.xml');
 +
 +
# Plugin aktivieren
 +
t3lib_extMgm::addPlugin(array('LLL:EXT:hfwupersonal/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY.'_pi1'),'list_type');
 
</pre>
 
</pre>
  

Version vom 10. September 2007, 11:10 Uhr

Man braucht:

  1. Änderungen in ext_tables.php
  2. Die Datei flexform_ds.xml. In dieser befindet sich der XML code den Typo3 nutzt um das Flexform zu generieren.
    1. In der Datei wird im Abschnitt Label auf die Datei: locallang_db.xml verwiesen. In dieser wiederum werden die anderen Sprachen definiert.

Beispiel ext_tables.php (Ausschnitt):

# Vor jeder Änderung im TCA Bereich im Frontend muß er auch geladen sein...
t3lib_div::loadTCA('tt_content');
# Wir nutzen FlexForms - deshalb blenden wir die Standard-Felder layout, select_key pages und recursive aus...
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY.'_pi1']='layout,select_key,pages,recursive';
# Dafür blenden wir das tt_content-Felod pi_flexform ein
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='pi_flexform';
# Nun die Datei angeben in der das Flexform-Schema definiert ist...
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'pi1','FILE:EXT:'.$_EXTKEY.'/flexform_de.xml');

# Plugin aktivieren 
t3lib_extMgm::addPlugin(array('LLL:EXT:hfwupersonal/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY.'_pi1'),'list_type');

Beispiel flexform_ds.xml

<T3DataStructure>
  <sheets>
    <sDEF>
      <ROOT>
        <TCEforms>
        <sheetTitle>LLL:EXT:hfwupersonal/locallang_db.php:hfwupersonal.pi_flexform.sheet_main</sheetTitle>
        </TCEforms>
        <type>array</type>

Innerhalb von sheets stehen die Tabs, sDEF ist das erste Sheet.