我有一个生成自定义表单输入的助手。
助手(简化代码)
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);
}
现在我如何通过在输入的前面加上另一个“模型”来修改输入的名称属性。例如,默认情况下输入将具有以下名称属性:
<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]" />