Hallo,
ich versuche mich gerade mit dynaflex und habe eientlich alles nach dem HowTo der Dokumentation als auch nach dem Tutorial hier im Forum richtig gemacht. Es sollen so viele Sheets generiert werden wie in einem dafür vorgesehenen Feld (field_counter) eingegeben werden. Leider passiert das nicht wirklich. Gibt man eine beliebige Zahl ein, und speichert ab, so werden keine Sheets generiert. In dem zugehörigen Feld (test_field) der Datenbank steht dann folgendes:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<t3flexforms>
</t3flexforms>
Gibt man nun eine beliebige andere Zahl in dem Feld ein und speichert ab, so werden die Sheets generiert. In der Datenbank steht aber immer noch keine FlexForm-Struktur. Erst nach dem ausfüllen des erzeugten FlexForm-Feldes und einem erneuten speichern steht dann sinnvoller Code in dem Datenbankfeld.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<t3flexforms>
<data>
<sheet index="sheet_0">
<language index="lDEF">
<field index="field_0">
<value index="vDEF">qwert</value>
</field>
</language>
</sheet>
</data>
</t3flexforms>
Die tca.php sieht wiefolgt aus:
if (!defined ('TYPO3_MODE')) die ('Access denied.');
$TCA['tx_dynhorror_items'] = Array (
'ctrl' => $TCA['tx_dynhorror_items']['ctrl'],
'interface' => Array (
'showRecordFieldList' => 'field_counter,test_field'
),
'feInterface' => $TCA['tx_dynhorror_items']['feInterface'],
'columns' => Array (
'field_counter' => Array (
'exclude' => 1,
'label' => 'counter',
'config' => Array (
'type' => 'input',
'size' => '30',
'eval' => 'int',
'default' => '1'
)
),
'test_field' => Array (
'exclude' => 1,
'label' => 'test field',
'config' => Array (
'type' => 'flex',
'ds' => array (
'default' => '<t3datastructure>' .
' <meta />' .
' <langdisable>1</langdisable>' .
' </meta>'.
' <root>' .
' <type>array</type>' .
' <el>' .
' <dummy></dummy>' .
' </el>' .
' </root>'.
'</t3datastructure>'
),
),
),
),
'types' => Array (
'0' => Array('showitem' => 'field_counter;;;;1-1-1, test_field')
),
'palettes' => Array (
'1' => Array('showitem' => '')
)
);
Und die per ext_localconf.php eingebundene Klasse für dynaflex sieht wie folgt aus:
class tx_dynaflextut_dfconfig {
var $DCA = array (
0 => array (
'path' => 'tx_dynhorror_items/columns/test_field/config/ds/default',
'modifications' => array (
array (
'method' => 'add',
'type' => 'sheets',
'source' => 'field',
'source_config' => array (
'table' => 'tx_dynhorror_items',
'db_field' => 'field_counter',
),
'sheet_config' => array (
'label' => 'Sheet ###SINDEX###',
'name' => 'sheet',
'fields' => array (
array (
'label' => 'field on sheet ###SINDEX###',
'name' => 'field',
'config' => array (
'type' => 'input',
'size' => '30',
)
)
)
)
),
)
)
);
var $cleanUpField = 'test_field';
}
Kann mir vielleicht jemand einen Tipp geben, woran dieses merkwürdige Verhalten von dynaflex liegt?
MfG