はじめに
php
echo $this->Form->textarea('test');
を実行すると
html
<textarea name="data[test]" id="test"></textarea>
が出力されます。初期値ではrows属性が出力されないことがわかります。
php
echo $this->Form->textarea('test',['rows'=>'10']);
を実行することで
html
<textarea name="data[test]" rows="10" id="test"></textarea>
のようにrows属性を追加する事はできますが、「rowsは10固定で使うんだよな~」という方は初期値をカスタムした方が使いやすくなりそうです。
rowsの初期値を追加する
lib/Cake/View/Helper/HtmlHelper.php
'textarea' => '<textarea name="%s"%s>%s</textarea>',
を
lib/Cake/View/Helper/HtmlHelper.php
'textarea' => '<textarea name="%s" rows="10" %s>%s</textarea>',
に加工します。もう一度
php
echo $this->Form->textarea('test');
を実行すると
html
<textarea name="data[test]" rows="10" id="test"></textarea>
が出力されるようになりました。
注意事項
しかし!!注意点があります。HtmlHelper.phpの加工を行った後に
php
echo $this->Form->textarea('test',['rows'=>'20']);
を実行した場合、なんと
html
<textarea name="data[test]" rows="10" id="test"></textarea>
が出力されてしまいます。折角渡したオプション['rows'=>'20']
が無視されてしまうのです。私は大人しくHtmlHelper.phpの加工をしないで運用する事にしました。因みにCakePHP3ではこの辺が柔軟に対応できるようになっているようです。