【发布时间】:2017-10-24 07:01:44
【问题描述】:
我想在 TYPO3 后端添加记录。为此,我做了一个包含 4 个不同类的扩展。在通过后端将一个特定类的记录添加到文件夹时,我想要一个选择,让我从另一个类的列的项目中进行选择。我知道我必须在此代码中使用foreign_table:
'kundeuid' => array(
'exclude' => 1,
'label' => 'LLL:EXT:icingaconfgen/Resources/Private/Language/locallang_db.xlf:tx_icingaconfgen_domain_model_appliance.kundeuid',
'config' => array(
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tx_icingaconfgen_domain_model_kunde',
'foreign_table_where' => 'ORDER BY tx_icingaconfgen_domain_model_kunde.kundeuid asc',
'items' => array(
array('-- Select Kunde --', 0),
),
'size' => 1,
'maxitems' => 1
),
),
但问题是我无法指定选择应仅包含已确定列的属性。相反,选择下拉菜单似乎使用了第一列的属性。如何指定“kundeuid”属性的列?
编辑:我忘了说,代码是在TCA文件夹中的特定PHP文件中使用的。
【问题讨论】:
-
您是否只想将所选项目的标签字段或其值更改为外国记录的“uid”以外的值?
-
我试着更具体一点:“Kunde”类有一个属性“kundeuid”。在后端添加具有相同属性(基本上可以说是外键)的“设备”类的记录时,此属性应由包含所有现有对象的“kundeuid”值的选择下拉菜单设置/ “昆德”班的记录。我想通过在特定 TCA 中为“设备”类使用 foreign_table 来做到这一点。上面的代码甚至加载了“Kunde”记录的属性,但似乎使用了错误的列/属性...
-
所以'Kunde' 记录有一个 TYPO3 的属性 'uid' 但你想存储另一个名为“kundeuid”的属性?
-
不,两个类... Kunde 和 Appliance 都有属性 'kundeuid'... 如果我添加一个 Appliance,我想从基于 Kunde 对象的选择中设置它的 kundeuid。基本上每个电器都属于特定的昆德语。这就是为什么 Appliance 有 kundeuid 作为外键的原因。
-
我刚刚听懂了你昨天的问题:“你只是想将所选项目的标签字段或其值更改为外国记录的“uid”以外的值吗?第二个选项是我想要做的。这可能吗?