Hi,
ich bin dabei mich in extbase und fluid einzuarbeiten aber ich denke meine Frage betrifft generell das Thema "Extension Entwicklung".
Ich habe mir die Extensions "sjr_offers" und "blog_example" als Grundlage/Referenz für meine eigene erste Extension hergenommen.
In der ext_tables.sql meiner Extension steht unter anderem folgendes:
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l18n_parent int(11) DEFAULT '0' NOT NULL,
l18n_diffsource mediumblob NOT NULL,
access_group int(11) DEFAULT '0' NOT NULL,
In der ext_tables.php meiner Extension steht unter anderem das hier:
ctrl' => array (
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l18n_parent',
'transOrigDiffSourceField' => 'l18n_diffsource',
'delete' => 'deleted',
'enablecolumns' => array(
'disabled' => 'hidden'
),
),
'columns' => array(
'sys_language_uid' => array(
'exclude' => '1',
'label' => 'LLL:EXT:lang/locallang_general.php:LGL.language',
'config' => array(
'type' => 'select',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => Array(
Array('LLL:EXT:lang/locallang_general.php:LGL.allLanguages',-1),
Array('LLL:EXT:lang/locallang_general.php:LGL.default_value',0)
)
)
),
),
Das habe ich eigentlich einfach aus den anderen Extensions kopiert.
In der tca.php der Extension sjr_offers steht das hier:
'columns' => array(
'sys_language_uid' => array(
'exclude' => 1,
'label' => 'LLL:EXT:lang/locallang_general.php:LGL.language',
'config' => array(
'type' => 'select',
'foreign_table' => 'sys_language',
'foreign_table_where' => 'ORDER BY sys_language.title',
'items' => Array(
Array('LLL:EXT:lang/locallang_general.php:LGL.allLanguages',-1),
Array('LLL:EXT:lang/locallang_general.php:LGL.default_value',0)
)
)
),
'l18n_parent' => array(
'displayCond' => 'FIELD:sys_language_uid:>:0',
'exclude' => 1,
'label' => 'LLL:EXT:lang/locallang_general.php:LGL.l18n_parent',
'config' => array(
'type' => 'select',
'items' => array(
Array('', 0),
),
'foreign_table' => 'tt_news',
'foreign_table_where' => 'AND tt_news.uid=###REC_FIELD_l18n_parent### AND tt_news.sys_language_uid IN (-1,0)',
)
),
'l18n_diffsource' => Array(
'config'=>array(
'type'=>'passthrough')
),
),
Was ich nicht verstehe sind die zwei Arrays für l18n_parent und l18n_diffsource (deswegen hab ich das nicht in die ext_tables.php meiner Extension nicht übernommen).
Welchen Zweck erfüllen diese zwei Datenbankfelder und brauche ich sie unbedingt in meiner Extension?
Wieso wird bei l18n_parent mit foreign_table => 'tt_news' auf die Tabelle von tt_news zugegriffen? Kann man das einfach weglassen?
Danke schon Mal für hilfreiche Antworten 🙂