我有一个助手可以生成自定义表单输入。CakePHP - 更改表单输入的“名称”属性
助手(simplifed代码)
public function customInput($field, array $options = array()) {
$defaultOptions = array(
'class' => 'custom-input',
'label' => false
);
$options = array_merge($defaultOptions, $options);
return $this->Form->input($field, $options);
}
现在我该怎么用另一种“模式”前缀来修改输入的name属性。例如,输入默认情况下将具有以下name属性:
<input type="text" name="data[MyModel][field]" />
但我希望它是:
<input type="text" name="data[_custom][MyModel][field]" />
主要是,似乎什么棘手的是,我不知道怎么弄将默认使用的型号名称。另外,我需要的东西,工作,如果默认的模型层次比较复杂,如:
<input type="text" name="data[MyModel][AssociatedModel][field]" />
将需要被修改为:
<input type="text" name="data[_custom][MyModel][AssociatedModel][field]" />
这就是我最终做的,因为它似乎是我可以用来动态生成名称的唯一东西,但即使如此,如果除了基本的Model.field键之外还有其他东西,它会掉下来。 Model.Model.field或Model.0.field将不可能我猜。 – BadHorsie