————–
\n
\n
テキストエリア内容
————–
のデータがあった場合
$form->input('Model.field', array('type' => 'textarea'));
で表示した場合、最初の改行コードがない状態でフォームに表示されます。
(下記のように2つある改行が1つになっています)
実際、バグではなくてブラウザの仕様で最初の改行は表示しない為です。
こんな風に改行とインデントつけながらhtml書いていた場合、初めの改行を読み込んで表示されると1段下がった状態で内容が表示されると困りますので・・・
CakePHPの場合 (cake/libs/view/helpers/html.php)
''
のように改行を入れてから内容を表示していないので、内容を展開する前に改行を挿入してから展開する必要があります。
そこで、 (cake/libs/view/helpers/form.php)
return $this->output(sprintf( $this->Html->tags['textarea'], $options['name'], $this->_parseAttributes($options, array('type', 'name'), null, ' '), PHP_EOL. $value ));
の$valueの前に改行コード「PHP_EOL」を足しました。
バージョンは1.2.6です。