Values of input fields in the same array
Today, Petr Vytlacil asked me how to create input fields with the html helper so that the values are in the same array, i.e. how to create something like:
<input name="data[Price][price][]” value= “” /> <input name=”data[Price][price][]” value= “” />
The obvious approach with
$html->inputTag('Price/price[]‘);
does not work, as it creates a wrong name:
<input name="data[Price][price[]]” value=”" />
If we look at this output, we can see, how CakePHP works: it splits “Price/size[]” on the “/” character and adds square brackets. That leads us to the following workaround:
$html->inputTag('Price/price][');
Sure, it is a little bit counterintuitive, but it does the job ;-)




Hi Daniel I want one more say thanks for your advice. It would be best write tutorial how generate inputs with the aid of AJAX. For examples any item can has many price after capacity. So this generate dozens of times inputs for setting price and capacity.
Ciao and tomorrow I wish your national hockey team luck. Because our magic player with No. 68 will have shooting day .-). So I hope.
Petr Vytlačil - Czech Republic
how about for a checkbox ?
this works for the name, but it breaks on the id ! In that:
echo $html->checkbox(’Category/Category][’, NULL, array(’value’=>$catid));
Gives us:
LESS THAN SIGN
input type=”checkbox” name=”data[Category][Category][]” id=”tag_Category][” value=”1″
GREATER THAN SIGN
sorry cant work out how to do a html tag!