一応、直し方がわかりましたが改行が入りだすタイミングはいまだにわかりません。
Quote from: wisp at Feb 27, 2009, 12:43 PM
[!NewsEditor? &folder=`19` &postid=`19` &showinmenu=`0` &clearcache=`1` &rtcontent=`tvnewsrich` &formtpl=`newseditor_form` !]
いったんテンプレート変数の
newsrich を削除し同じ条件で作り直します。
そのとき、既定値として
[+content+] を指定していると思います。
おかしくなって改行が入りだした場合は既定値の
[+content+] を削除しても編集画面の TinyMCE に
[+content+] の内容がセットされるいう不可解な現象となっています。たぶんこの
[+content+] の条件がテンプレート変数のテーブルに書き込まれてしまい読込み時に実行されているのかも知れません。そこで余分な改行が入ってしまう!
サンプルフォームとして Custom form with template variable [*EditBlogContent*] for the contents を参考にしていると思いますがその下に書かれた
@EVAL
if (isset($_REQUEST['editid']) && $_REQUEST['editid'] != '') {
$editid = $_REQUEST['editid'];
$tbl = $modx->getFullTableName( 'site_content' );
return $modx->db->getValue( "SELECT content FROM $tbl WHERE (id = $editid)");
}
return '';
挿入位置がわからないため使っていなかったのですが、たぶんテンプレート変数の既定値として
[+content+] を指定していればこの EVAL 文は必要ないと思っていたからです。
改行が入りだすタイミングとしてこの EVAL文を使う必要があるのか NewsEditor のどこかが条件によって実行される部分が変わってしまいこうなってしまうのか、その原因を突き止めない限り今回の対応方法で解決してもすぐに同じ現象に悩まされる事になりそうです。 :’(
今、この EVAL 文から改行を取り除きテンプレート変数の既定値として
[+content+] のかわりにセットし実験中です。
参考:このときにかかわった tkfm さん、bateau さんはEVAL を使っていてこういう問題には遭遇していないのかもしれません?
http://modxcms.com/forums/index.php?topic=24554.0;