We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 2865
    • 41 Posts
    前回質問した分の続きなんですが、NewsManagerを使っての投稿を試しているので別スレで質問します。

    やりたいことは、前回と同じで、NewsManagerを使い、リッチテキストを使った投稿をしたいんです。

    http://www.liolion.info/modx/resource/newsmanager.html

    ↑ここを参考にしつつ、まずは

    [!NewsEditor? &folder=`投稿先ドキュメントID` &postid=`NewsManagerを記述したドキュメントID`!]

    [!NewsManager? &folder=`投稿先ドキュメントID` &editformid=`NewsEditorを記述したドキュメントID`!]

    この二つのページをつくり、当然投稿はうまくいきました。

    次にWebユーザーに投稿を限定、これもうまくいきました。

    それで、『report』という名前のテンプレート変数を作りました。

    入力タイプ リッチテキスト

    ウィジェット リッチテキスト EditorはTinyMCEを指定

    で、NewsEditorのスニペットコールに 

    &template=`reporttpl`

    を追加

    reporttplをチャンクで追加して、デフォルトのテンプレートに

    report:

    [*report*]
     (←たぶんこれがまちがい。。。。。汗)

    を追加して保存 

    これでNewsEditorのページにアクセスすると狙ったとおり、TinyMCEでreportの部分を書けるようになり、投稿もできます。

    ただ、投稿された記事を見ると、reportの内容が消えてしまっているんですよね。。。。。。汗

    pagetitle等、別の要素は投稿されています。

    たぶん前述のreporttplのチャンクが記述間違いなんだというのはわかるのですが、実際どう書けばいいのかが。。。。

    もう何日も立ち往生してます。こんな基本的なことであまり何度も質問しては。。。と思っていたのですが、もういろいろ試しつくして途方にくれています。どなたか解決策はわかりませんか? よろしくお願いします。
      • 19033
      • 892 Posts
      こんにちは。

      確証はないのですが、NewsManagerの投稿部分は、NewsPublisherをもとに
      作られていると思うので、NewsPublisherの正確は基本的にそのまま引き継いで
      いると思うのです。

      したがって、現状のままでは、テンプレート変数を作っての入力フィールドの値は、
      投稿できないんじゃないでしょうか。

      参考トピ
      http://modxcms.com/forums/index.php/topic,17677.0.html

      あと、こんなのを見つけました。
      http://modxcms.com/forums/index.php/topic,24072.0.html
      プログラムのわかる方なら、参考にして改造できるのかも知れません。
        • 36592
        • 970 Posts
        MEGUさんが書かれているとおり、TVに直接入力するのはできないと思います。
        入力画面上、RTEが使えるTV(ウィジェットをRichtextに設定したもの)に入力させることはできますが、
         この場合も最終的に入力したデータが登録されるのはTVではなく「content」になりますね。
        (付属ドキュメントの「Custom form with template variable [*EditBlogContent*] for the contents」の部分参照)

        画像のアップロードはNewsPublisherで試された時と同じになると思います。
        スニペットには依存しない部分になりますので。
          • 2865
          • 41 Posts
          MEGUさん、tkfmさん、返信ありがとうございます。

          あれからいろいろ試してみて、あきらめてWordPress Integratorを試し始めたところでした。。。汗

          でもなんだか、おふたりのレスがヒントになってもうちょっと試してみようかなと思いはじめてます。

          いやはや。。。プログラムを知らない人間にはちと高いハードルです。。。。汗

          もうちょっとがんばってみます。ありがとうございました。

            • 2865
            • 41 Posts
            すいません。。。。

            なんか。。。うまくできたっぽい。。。。。。??


            付属ドキュメントのCustom form with template variable [*EditBlogContent*] for the contentsをそのまま使い、テンプレート変数名をEditBlogContentから自分で作ったreportにしてそのまま使用するとreportをリッチテキストで書き込めますよね。

            で、投稿して、投稿先を確認してみると、reportに入力した文章がcontentの欄に入ってるのを確認しました。

            で、このドキュメントをNewsManagerで呼び出すと、もちろんreportの欄は空白。。。

            そこからしばらく悩んで。。。。。。



            あれ? じゃぁ、テンプレート変数reportを呼び出すときの初期値にcontentの内容を代入できればいいんじゃ?? とふと思いまして

            テンプレート変数reportの設定で、初期値のところに [+content+] と入れてみたところ、無事に再編集できるようになりました。


            これって。。。。合ってます??

            もしかして合ってるなら、このやり方ってNewsPublisherでも使えますかね??
              • 36592
              • 970 Posts
              Quote from: bateau at Apr 10, 2008, 11:39 AM

              じゃぁ、テンプレート変数reportを呼び出すときの初期値にcontentの内容を代入できればいいんじゃ??
              とふと思いましてテンプレート変数reportの設定で、初期値のところに [+content+] と入れてみたところ、
              無事に再編集できるようになりました。
              よく理解できていませんが、NewsEditorのドキュメントの「Template variables」のところの@EVALに関する記述が関係ありそうな気がします。
                • 2865
                • 41 Posts
                tkfmさん
                Quote from: tkfm at Apr 10, 2008, 09:06 PM

                よく理解できていませんが、NewsEditorのドキュメントの「Template variables」のところの@EVALに関する記述が関係ありそうな気がします。
                実はそこをなんとか和訳しようと四苦八苦してて前述の方法を思いついたんですが。。。

                なんせ英語で書かれたプログラムの説明文。。。和訳できてもいまいち内容が理解できないんですよね。。。汗

                そもそも、説明文の下に記述してある@EVAL~ のプログラムの内容が理解できないんで、文章の内容もいまいち。。。

                ただ、TV使った場合にここの説明が重要な鍵になるとは思ってます。


                ちなみに私の思いついた方法だと、検証はしてませんが、複数のTVを使いたい場合には対応できないと思います。

                そもそもイレギュラーな方法だと思うし。。。


                まぁ、今自分がやりたい事は、TVひとつ使えればやれることなんで、一応使えそうかなとは思っていますが。。。。

                  • 36592
                  • 970 Posts
                  Quote from: bateau at Apr 10, 2008, 10:37 PM

                  そもそも、説明文の下に記述してある@EVAL~ のプログラムの内容が理解できないんで、文章の内容もいまいち。。。
                  @EVALのやっていることは、「NewsEditorの記述されているページが ?editid=2 とか編集したいドキュメントID付きで呼び出された時に、このテンプレート変数に編集したいドキュメントのcontentフィールドをコピーして持ってくる」という動作です。

                  bateauさんの場合、NewsEditorの記述のあるドキュメントのreportというテンプレート変数に@EVALの部分を値として入れます。
                  (自分がやった実験では、@EVALの部分は改行せず1行で入力しないとダメっぽい...)

                  そのうえで、そのNewsEditorの記述のあるドキュメントを「?editid=XX」(XXは編集したいページのドキュメントID)付きで呼び出してみて下さい。そのドキュメントが編集できるようになっていると思います。

                  ミソは、RTEを使うテンプレート変数だけ [*...*] で他は [+...+] だということですね。
                    • 2865
                    • 41 Posts
                    はぅ!!!! すいません。。。tkfmさん。。。。汗

                    自分のサイト組み上げるのに没頭しててしばらくここ見てませんでした。。。申し訳ありません。。。

                    なるほどぉ。。。。@EVALってそういう使い方するんですね。。。

                    ちょっと前回作ってた問題のサイトは自分が思いついたイレギュラーな方法で稼動はじめちゃったんで、今作ってる自サイト(半分MODxの実験場ですwww)で引き続き検証してみようと思います。

                    ありがとうございました!!