我目前正在开发一个具有多种自定义内容类型的 Plone 项目。这些内容类型有几个字段,这些字段依次从词汇表中获取它们的值。目前,我刚刚将我的值硬编码在一个vocabularies.py
文件中,如下所示:
from Products.Archetypes import atapi
CITIES_LIST = atapi.DisplayList((
('nairobi', 'Nairobi'),
('kisumu', 'Kisumu'),
('mombasa', 'Mombasa'),
('eldoret', 'Eldoret'),
('nakuru', 'Nakuru'),
))
这很好用,没有问题。
唯一的缺点是词汇表是刻在代码中的,需要程序员/开发人员来修改现有的词汇表。
我需要的是一种方式,让不一定是程序员的站点管理员和用户能够在未来通过 Web 界面修改词汇表,即来自另一个国家的客户能够更改可用城市列表。
我看过Products.ATVocabularyManager但我认为它不符合要求。也许如果有一个带有网格的界面来管理词汇表。我想我将不得不通过将它们存储为 ArcheTypes 来管理它们。
有没有办法在 Plone 4 中处理这种情况?一个人会怎么做?