如何使用Typo3 CMS 6.2中静态数据库表中的记录填充后端选择

时间:2015-05-22 10:01:18

标签: typo3 extbase typo3-6.2.x

- 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,',
    ),
);

0 个答案:

没有答案