We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32535
    • 58 Posts
    NewsEditorの、リッチエディタを使用しているのですが。
    一度投稿した記事を「編集」ボタンを押して、エディタを開き再度投稿ボタンを押すと、改行(<p>&nbsp</p>)が勝手に加えられしまいます。
    何も編集しないで投稿ボタンを押しただけでも、改行がついてしまいます。
    どなたか原因がおわかりになる方がおられましたらご教示下さい。
      • 6350
      • 421 Posts
      Quote from: wisp at Feb 27, 2009, 11:42 AM

      NewsEditorの、リッチエディタを使用しているのですが。
      Add Blog Entry で使っている NewsPublisher を使ってということでよろしいでしょうか?
      または、どこかの部分を改造してるんでしょうか?

      Quote from: wisp at Feb 27, 2009, 11:42 AM

      一度投稿した記事を「編集」ボタンを押して、エディタを開き再度投稿ボタンを押すと、改行(<p>&nbsp</p>)が勝手に加えられしまいます。
      何も編集しないで投稿ボタンを押しただけでも、改行がついてしまいます。
      「編集」ボタンというのは QuickEdit の編集のことですか。サンプルサイトで試した限りは wisp さんのような現象は残念ながら確認できません。
        • 32535
        • 58 Posts
        QuickEdit の編集ではなく、NewsManager上の、編集ボタンのことです。
        スニペットは下記のように記述しています。

        [!NewsManager?  &editformid=`20` &folder=`19`  &nrposts=`9` &rowtpl=`managertpl` &clearcache=`1` &formtpl=`newseditor_form` &paginate=`0` &alwaysshow=`1` &nxt=`nxt` &prv=`prv` &emptytext=`投稿記事はありません`!]

        [!NewsEditor? &folder=`19` &postid=`19`  &showinmenu=`0` &clearcache=`1` &rtcontent=`tvnewsrich` &formtpl=`newseditor_form` !]


        FireFox、Safari、Operaで<p>&nbsp</p>が加えられてしまいます。
        IEの6.0と7.0では問題は起きませんでした。
          • 6350
          • 421 Posts
          Quote from: wisp at Feb 27, 2009, 12:43 PM

          FireFox、Safari、Operaで<p>&nbsp</p>が加えられてしまいます。
          IEの6.0と7.0では問題は起きませんでした。
          NewsManager & Editor インストールしてみました。
          IE7 でも
          <p>
          <p>本文</p>
          </p>
          のように赤字の部分が増えてしまうようです。実際に改行が追加されるのは保存時ではなく読み込み時のようですが

          不思議なのは最初のうちはまったくそういった現象はありませんでした。きっかけはテンプレートを MODxhost から自作テンプレートに変えてからです。その後は MODxhost にもどしても最初の状態に戻りません。

          そのときからもうひとつ不可解なことが発生しました。最初はテンプレート変数の blogContent の既定値に [+content+] を入れておかないと編集時に TinyMCE に記事が入らなかったのですがテンプレートを変えた後勝手に改行が入りだしてから [+content+] を削除しても TinyMCE に記事がセットされるようになったことです。

          wisp さんにはそういった経過はないのでしょうか???

          自分でも何を言っているのかわからないくらい半狂乱状態となってますが早めに NewsEditor をあきらめて FDM に切り替えたほうが問題が少なそうなんですが?

          とは言っても気になるままおいておくのもどうかと思いますが、この辺は tkfm さんじゃないとむずかしいかも・・・といいながら TinyMCE には興味のない人だから :’(
            • 33014 ☆ A M B ☆
            • 1,231 Posts
            それはTinyMCEの挙動ですね。不具合ではなく仕様だと思います。
            僕はNucleus用のTinyMCEプラグインのメンテをやってるのですが、そちらでは不要な<p>&nbsp</p>を
            チェックして掃除する処理をプラグイン側で持たせています。
            (そのへん、可能であればMODx日本語版のほうで対応してみたいと思います)
              • 33014 ☆ A M B ☆
              • 1,231 Posts
              Quote from: dainiti at Feb 27, 2009, 06:06 PM

              <p>
              <p>本文</p>
              </p>
              え、そうなりますか?だとしたらTinyMCEは関係ないですね。TinyMCEはhtmlタグ構成の不整合を直しますので。

              追記
              僕もFDM乗り換えに一票
                • 6350
                • 421 Posts
                開く前の本文が
                <p>本文</p> の状態で

                IE7 で開くと
                <p>
                <p>本文</p>
                </p>

                FireFox では 開いて保存するたびに赤字の部分が増えていきます。
                <p>&nbsp</p>
                <p>本文</p>
                <p>&nbsp</p>

                だけど FDM ではまったくそのようなことはないんですよ。 huh

                wisp さんが自力で解決に一票
                  • 32535
                  • 58 Posts
                  とりあえず暫定的な処置として、見た目的に、おかしくならないIEのみでの利用をしてみようと思います。
                  ですが無駄なタグが入ってしまうのは問題なので、FDMの導入も視野に入れて検討してみます。
                  ありがとうございました。
                    • 6350
                    • 421 Posts
                    一応、直し方がわかりましたが改行が入りだすタイミングはいまだにわかりません。

                    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;
                      • 6350
                      • 421 Posts
                      テンプレート変数の既定値として EVAL 文をセットしいったんは [+content+] のときと同じように動いてたはずなんですがもう一度やってみると EVAL 文自体が TinyMCE に入ってくるようになりました。

                      既定値を [+content+] に置き換えても状況が変わりません。たぶん改行が入りだすのもこれと同じ状況でしょうか。いったんこうなると既定値自体が無視されているようです。
                      >> tkfm さん、たすけて・・・

                      @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 ’’;