我有一個助手可以生成自定義表單輸入。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