- Typo3 CMS版本6.2 -
我有一些实体,它们具有country
属性。
在后端,当插入/编辑其中一个实体时,我希望能够从select
中选择国家/地区。
由于不同的实体类型都共享相同的国家/地区,我认为将国家/地区存储在数据库表中是合适的。然后这些国家不会通过后端进行修改,因此我不需要管理界面。
这可以实现吗?怎么样?
到目前为止,这是我在我的一个实体的TCA配置中提出的......
'country' => array(
'exclude' => 1,
'label' => 'LLL:EXT:ape/Resources/Private/Language/locallang_db.xlf:tx_myext_domain_model_building.country',
'config' => array(
'type' => 'select',
'foreign_table' => 'tx_myext_countries',
'size' => 1,
'maxitems' => 1,
'eval' => 'required'
),
)
...这是国家表sql ...
CREATE TABLE tx_myext_countries (
uid int(11) NOT NULL auto_increment,
pid int(11),
name varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
code varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (uid)
);
...但是虽然没有给出任何错误,但它在后端显示一个空的选择。
我错过了什么?
我应该为国家/地区创建模型吗?我应该将它们视为实体吗?将其配置为外部数据源是否合适?
任何帮助都非常感谢!
更新
这是我在TCA中配置tx_myext_countries
表的尝试:
$GLOBALS['TCA']['tx_myext_countries'] = array(
'ctrl' => array(
'title' => 'Country',
'label' => 'name',
'searchFields' => 'name,code,',
),
);