We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6158
    • 224 Posts
    こんにちは。

    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 の関数がありました。これをテンプレート
    の編集画面に作るというのも手かもしれません。