私は現在、いくつかのカスタム コンテンツ タイプを含む 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 でこのような状況を処理する方法はありますか? どうやってそれについて行くでしょうか?