こんにちは。
Manager のエディタで編集作業をやっていると、<textarea> で改行されたりさ
れなかったりします。例えば、テンプレートの編集では改行され、スニペット
の編集では改行されません。これは <textarea> の属性で wrap="off" を適用
したかしなかったかによるものです。
<textarea wrap="off"></textarea>
改行されるとコードが乱れて見難いので、テンプレートの編集でも改行させな
いためには、
manager/actions/dynamic/mutate_templates.dynamic.action.php:194
<textarea name="post" wrap="<?php echo $content['wrap']== 1 ? "soft" : "off" ;?>" style="width:100%; height: 370px;" onChange='documentDirty=true;'><?php echo htmlspecialchars($content['content']); ?></textarea>
....と wrap="off" を追加すれば可能となります。これは snippet のコードを
参考にしています。
そもそも $content[’wrap’] という情報は (データベース上に) 存在しません
ので、条件判定は現状 false にならざるを得ず、必ず wrap="off" となってし
まいます。
但し、属性 wrap は xhtml1.0 の仕様では定義されていないので、xhtml validation
という意味では不適切と思いますが、css で white-space: nowrap としても効
きません。
wrap を使わず、<textarea> で改行させない方法をご存知の方はいませんか。
# そんなに重要とは思っていませんので、軽く知ってるよという方はお教え下さい。
表向き xhtml validation を謳っていますが、内部では厳しくないというのが
気になっただけですので。
p.s.
----
snippet の編集画面を見ると、「Wrap lines」というチェックボックスが
<textarea> 右上に見えますね。これは javascript で改行を制御しようと言う
ものかな。コードを見ていたら js の関数がありました。これをテンプレート
の編集画面に作るというのも手かもしれません。