LoginSignup
0

More than 3 years have passed since last update.

ヘルパーでtextareaのrowsの初期値を変更する

Last updated at Posted at 2019-07-28

はじめに

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ではこの辺が柔軟に対応できるようになっているようです。

リンク

FormHelper - 2.x
ヘルパーでtextareaのrowsの初期値を変更する - Qiita

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0