我有一个巨大的表格,我会分段。每个部分都有自己的模型。我有大量的下拉菜单。它们有点类似,所以我想做的是能够通过调用php变量为它们添加选项。这将确保我没有拼写错误,如果需要更改,我可以在一个地方更改。
如果我有这样的语言下拉:
echo $this->Form->input(__('Language'), array(
'options' => array('en' => 'English', 'fr' => 'Français')
));
如果我能做$ this-> Form->输入(__('语言'),$语言)会很好;然后在$ language中我也可以用变量添加这些语言。 $ languages = array('options'=> $ option1,$ option2 ...);类似的东西。
我只是想找到管理1000个下拉列表的最佳方法。
我怎么能这样做?
答案 0 :(得分:0)
在AppController中设置beforeRender回调中的语言选项: -
public function beforeRender() {
parent::beforeRender();
$this->set('languages', array('en' => 'English', 'fr' => 'Français'));
}
然后在相关视图中,您可以使用: -
$this->Form->input(__('Language'), $languages);
创建语言模型并将语言存储在其中并使用模型上的查找(“列表”)加载它们可能是有意义的。如果您的其他模型需要与某种语言相关联,那么您就可以在相关模型上使用$belongsTo = array('Language')
关系并保存模型的language_id
。然后,您的所有语言数据都将存储在数据库中,供您在一个地方进行更改。