ページタイトル内の改行について

質問全般・改善要望
返信する
takyam
メンバー
メンバー
記事: 12
登録日時: 2010年2月22日(月) 15:40

ページタイトル内の改行について

投稿記事 by takyam »

こんにちは。

再現が難しかったので何とも言えなくはあるのですが、
稀にページタイトルに改行が入ってしまう事があるようです。

Excelからコピペしたタイトルで、ごく稀に改行が保持されたままリソースが保存されてしまい、
結果として左ツリーの該当リソースをクリック及び右クリックができなくなります。
※左ツリーの各リソース名の部分のonmousedown等のJavaScript内のページタイトルのところで
 途中で改行が発生してしまい、Scriptが動作しなくなり、
 結果としてクリック・左クリックが出来なくなってしまう。

MODx1.0.4J-r2 Excel2007 Firefox3.6.8 の環境で起こりました。

どのセルをコピペしても起こるわけではなく、
特定のセルにおいて発生するようです。
規則性は不明です。

ブラウザ側のバグのような気もしますが、
可能であればMODx側でもエスケープ処理してあげたほうがいいような気がします。
かなりレアケースのようですので、対応は不要かもしれませんが、
念のためご報告でした。

■再現してしまった場合の対応
「メイン」→「検索」より、再現したリソースのIDで検索。
出てきたリソースの左側のアイコンクリックで編集画面へ移動。
再度保存すると改行が消えて直っています。
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: ページタイトル内の改行について

投稿記事 by soushi »

soushiです。

MODxの管理画面の入力チェックは管理画面がゆえに結構いい加減なんですよね… :|

手元で再現させてみようとしたのですが、まだできていません(やり方が悪い?)。
多分、以下のプラグインを使うことで今のMODxでも改行コードを削ることができると思います。
もし症状がひどいようでしたら一度利用して見てください。

プラグイン名:(なにか適当に)
システムイベント:OnManagerPageInit

コード: 全て選択

if( $action == 5 ){ // ドキュメント保存 = 5
  $tgt=array('pagetitle','alias');
  foreach( $tgt as $key ){
    $_POST[$key] = preg_replace("/[\n\r]/", '', $_POST[$key]);
  }
}
このプラグインはドキュメント保存時にページタイトルとエイリアスに対し、改行コードになりえるもの(\r\n)を全部削除しています。
ちなみに改行削除対象を増やしたいときは $tgt に付け足します。

実際に動作確認できているわけではないので、もし動かなかったらすいません…。
返信する