Zum Inhalt springen

Flexforms und eigene CTypes

Erstellt am 20. April 2005 · 1 Antwort · letzte Antwort am 25. April 2006

Tags: Frage

JanPhilipp ·

Aloha,

habe mir einen eigenen CType gebaut und würde gerne weitere Felder hinzufügen ohne die tt_content-Tabelle weiter aufzupumpen. Flexforms scheinen hier eine Lösung zu sein, aber ich bekomme immer nur die standardmäßig vorhandene DEF-Formatierung des Feldes pi_flexform unter meinen Formularfeldern angezeigt.

Damit bekomme ich mein Formular und das DEF-formatierte Feld aus pi_flexform:

t3lib_div::loadTCA('tt_content');

// Change the icon for the plugins.
$TCA['tt_content']['ctrl']['typeicons'][$_EXTKEY.'_pi1'] = 'tt_content_textpic.gif';

$TCA['tt_content']['types'][$_EXTKEY.'_pi1']['showitem'] = 'CType;;4;button;1-1-1, header;;3;;2-2-2, bodytext;;9;richtext[paste|bold|italic|underline|formatblock|class|left|center|right|orderedlist|unorderedlist|outdent|indent|link|image]:rte_transform[flag=rte_enabled|mode=ts];3-3-3, rte_enabled, text_properties, --div--, image;;;;4-4-4, imageorient;;2, imagewidth;;13, --palette--;LLL:EXT:cms/locallang_ttc.php:ALT.imgLinks;7, --palette--;LLL:EXT:cms/locallang_ttc.php:ALT.imgOptions;11, imagecaption;;5;, pi_flexform';

t3lib_extMgm::addPlugin(Array('LLL:EXT:user_content/locallang_db.php:tt_content.CType_pi1', $_EXTKEY.'_pi1'),'CType');

Über diese Anweisung versuche ich ein XML-File zu laden:

t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'_pi1', 'FILE:EXT:jph_acelements/flexform_ds_pi1.xml');

Und so sieht mein Test-XML-File aus:

<T3DataStructure>
<sheets>
  <sDEF>
   <ROOT>
    <TCEforms>
     <sheetTitle>Optionen:</sheetTitle>
    </TCEforms>
    <type>array</type>
    <el>
     <categorySelection>
      <TCEforms>
       <label>Auswahl</label>
       <config>
        <type>select</type>
        <items type="array">
        </items>
        <foreign_table>user_extensionname_types</foreign_table>
        <minitems>0</minitems>
        <maxitems>200</maxitems>
        <size>5</size>
        <selectedListStyle>width:150px</selectedListStyle>
        <itemListStyle>width:150px</itemListStyle>
        <allowNonIdValues>1</allowNonIdValues>
       </config>
      </TCEforms>
     </categorySelection>
    </el>
   </ROOT>
  </sDEF>
</sheets>
</T3DataStructure>

Da ich keine PHP-Fehlermeldung bekomme, gehe ich davon aus, dass die Datei gefunden wird. Im Netz finde ich nur Lösungen für Plugins, für die man den "type" einstellt. Geht es überhaupt mit CType-Plugins?

Weiß jemand von Euch Rat? Mein Dank ist Euch gewiß.
Gruß Jan-Philipp

Jonzo ·
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1']='pi_flexform';

Das ist die Zeile, die das Glück beschert 😃