We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 19033
    • 892 Posts
    こんにちは。よろしくお願い致します。
    MODx0.9.5をインストールしますと、サンプルサイトができあがりますが、
    そのなかのmini blogの動作について…なのですが。。

    まず、mini blog How to にありますように、
    1.ウェブユーザを作り、ウェブアクセス許可「Site Admins」にチェックします
    2.1.で作ったアカウントでログインすると「add a blog entry」が現れます

    で、そこでの動作なのですが、
    問題点(1)
    1.日付入力のためのカレンダーアイコンをクリック
    2.カレンダーがポップアップ表示
    3.次の月(または前の月)、次の年(または前の年)アイコンをクリックすると、not foundになる
    このとき以下のようになっていて
    The requested URL /Mx/manager/media/calendar/manager/media/calendar/calendar.html was not found on this server.
    …これってなんかパスが変ですよね…??

    問題点(2)
    1.とりあえず、タイトル、ヘッドライン、日付、概要、本文を入力
    2.「blog it!」をクリック
    …すると、MODxに用意されている「Uh oh ... it’s a 404! (Page Not Found)」が現れます
    この時、アドレスバーのアドレスは、「http://ドメインとか/112.html」とかになっています。
    「112」は新しくできた(できる?)ドキュメントIDです。

    2.でblog it!をクリックした後、「NewsPublisher」の仕様では、たった今投稿したドキュメントが
    現れるはずだと思うのですが、それが「ない」と言っている…のでしょうか…。

    確かに、Dittoで表示させているところ(ブログのインデックスと言えばいいでしょうか)にも現れません。
    しかし、管理者権限でログインし直すと、ドキュメント「112」は存在しています。
    この時、「112」を開き、「保存」するとDittoで表示させている部分に、
    ドキュメント「112」が初めて現れます。

    こういう動作で正常(そういう仕様)でしょうか…?
    あるいは、みなさまの環境では、動作が異なりますでしょうか。
    試された方おられましたら、どうぞ教えてください。
    よろしくお願い致します。

    サーバーはさくらインターネットです。
    php.iniは以下を設定しています
    short_open_tag = off
    allow_url_fopen = off
    register_globals = off
    cgi.fix_pathinfo=1

    よろしくお願いします。
      • 19033
      • 892 Posts
      こんにちは。自己レスなのですが。
      問題点のうち、ひとつは原因がわかりました。

      問題点(2)
      1.とりあえず、タイトル、ヘッドライン、日付、概要、本文を入力
      2.「blog it!」をクリック
      …すると、MODxに用意されている「Uh oh ... it’s a 404! (Page Not Found)」が現れます

      これは、フレンドリーURLを使用している場合におこるようです。
      フレンドリーURLの使用をやめ、「add a blog entry」からポストしたところ、
      「NewsPublisher」の仕様通り、ポストしたドキュメントが、表示されました。
        • 21772
        • 69 Posts
        みなさん あけましておめでとうございます。

        私のサイトもmini blogの動作においてはMEGUさんのいわれた通りの現象です。
        環境はレンタルサーバーと、自社にて2つのサイトをMODx化しましたが、2サイト
        共に同様の症状です。 両サイト共にフレンドリーURLを使っています。

        問題点(1)
        次の月(または前の月)、次の年(または前の年)アイコンをクリックすると、
        not foundになります。 パスもMEGUさんの指摘と同様です。
        カレンダーのJavaScriptを修正すれば良いのかと思いますが、それだけの
        スキルがありませんので、そのまま使っています。

        問題点(2)も全く同じ状況です。Dittoで投稿記事のインデックスを生成表示
        させていると、ドキュメントが生成されていても、反映されませんがNewsListing
        では、新しい投稿が表示されます。

        自社の利用かつ、自分でのサイト更新がほとんどですので、そのまま使ってい
        ますが、それを他のユーザーに使わせる事を考えると、ちょっと問題ですね。

        P.S MODxもSEO効果は良いですね、新しくMODxにて作成したサイトは
        ヤフーでの検索順位が12位も上がりました。
          • 6158
          • 224 Posts
          こんにちは。

          Quote from: MEGU at Jan 11, 2007, 09:09 AM

          フレンドリーURLを使用している場合におこるようです。
          フレンドリーURLの使用をやめ、「add a blog entry」からポストしたところ、
          「NewsPublisher」の仕様通り、ポストしたドキュメントが、表示されました。

          以前サンプルとして入れていた v095 で確認しました。windows 環境ですので
          全く同じではありません。

          1) インストール
          2) install ディレクトリ残したまま
          3) 問題点(1)の支持に従って操作
          4) スクリプトエラーのメッセージが出た
          5) カレンダーが出た
          6) 取り敢えず全部入力してボタンを押すと
          7) スクリプトエラーが出たけど消して
          8) 無事表示されました

          ...問題ありませんでした。

          インストールして直ぐに取り掛かっているので、manager で friendlyURL の設
          定云々は全くやっていません。

          では、次に friendly url を設定してみましょう。
            • 6158
            • 224 Posts
            [table]
            [tr][td]Use friendly aliases[/td][td]: Yes[/td][/tr]
            [tr][td]Use friendly alias path[/td][td]: Yes[/td][/tr]
            [tr][td]Allow duplicate aliases[/td][td]: Yes[/td][/tr]
            [/table]

            という設定でカレンダーボタンを押してみると、URL が

            (誤) http://localhost/work/modx095/modx-0.9.5/blog/manager/media/calendar/calendar.html?datetime=1168580121618&id=0
            (正) http://localhost/work/modx095/modx-0.9.5/manager/media/calendar/calendar.html?datetime=1168580121618&id=0
            と(誤)のようになってしまいました。これはおかしい。(正)のようになって欲
            しい。Friendly URLs を使った時のパスがおかしい。

            url を手作業で変更して日付を入力した後、[Blog it] を押すと生成されたページの url は

            (誤) http://localhost/work/modx095/modx-0.9.5/48.html
            (正) http://localhost/work/modx095/modx-0.9.5/blog/article-1168580350.html
            と(誤)のようになりました。これもまたおかしい。(正)のように alias が使わ
            れるべき。

            次に、

            [table]
            [tr][td]Use friendly aliases[/td][td]: No[/td][/tr]
            [tr][td]Use friendly alias path[/td][td]: No[/td][/tr]
            [tr][td]Allow duplicate aliases[/td][td]: Yes[/td][/tr]
            [/table]

            と変更して

            http://localhost/work/modx095/modx-0.9.5/48.html
            にアクセスしても Not Found でした。

            それで manager で id=48 の published を確認すると、チェックされていなかっ
            たので手動でチェックをしましたが、保存してもチェックが付いた状態になり
            ません。でも、アクセスは可能になりました。

            おかしい!


            以上、ばたばたとやってるから間違っているかもしれないので、要確認。
              • 19033
              • 892 Posts
              noriさん。custarさん。ありがとうございます。
              私ももう一度やってみました。

              mini blogの「add a blog entry」」において、

              (1)ポップアップするカレンダーの前の年/次の年、前の月/次の月アイコンを
              クリックした時のURL(パス)がおかしい

              (2)フレンドリーURLを使用した時、「blog it!」をクリックした後、
              アクセスされるべきURLがおかしい(ドキュメントID.htmlになってる)

              (3)管理者権限でログインして該当ドキュメントを保存しなおなさいと、
              Dittoに反映されない

              ですよね。ただ、noriさんのお話からすると、Dittoではなく
              NewsListingなら、管理者権限で保存し直さなくても、
              表示される、ということですよね??とすると、ここの部分だけ
              (投稿記事が反映されない)は、Ditto側にも何か問題があるのでしょうか。。

              再確認した結果を書きます。
              (1)カレンダーのURLの件
              私の環境では、フレンドリーURLを使用していても使用していなくても、
              カレンダーのパスに違いはありませんでした。

              (2)blog it!でポスト後のドキュメントの公開状態
              私の環境では、「公開」になっていました。
                • 33488
                • 429 Posts
                結構問題ありますねぇ
                1つだけ解決しました。
                カレンダーの問題ですが、ChunkのFormBlogの以下の部分をフルURLか、/をつければ直ります。
                nwpub_cal1.path="manager/media/";
                


                Aliasの問題は、んーーわかりそうでわからない :’(
                  • 19033
                  • 892 Posts
                  ZeRoさん。
                  ありがとうございます!

                  (1)ポップアップするカレンダーの前の年/次の年、前の月/次の月アイコンを
                  クリックした時のURL(パス)がおかしい…解決


                  ChunkのFormBlogのJavascript 内
                  nwpub_cal1.path="manager/media/";

                  ↓
                  nwpub_cal1.path="[(site_url)]manager/media/";
                    • 19033
                    • 892 Posts
                    もう一個解決しました(たぶん…)。

                    (3)管理者権限でログインして該当ドキュメントを保存しなおなさいと、
                    Dittoに反映されない…解決


                    NewsPublisher の呼び出し側で、パラメータ「&clearcache=`1`」を指定すると
                    ポストの後、Dittoでの出力に反映されるようです。

                    ということで、残りは、
                    (2)フレンドリーURLを使用した時、「blog it!」をクリックした後、
                    アクセスされるべきURLがおかしい(ドキュメントID.htmlになってる)


                    ですが、ポストの後、「 Uh oh ... it’s a 404! (Page Not Found)」のページを
                    表示させないことで、トラブルを隠すことは可能。

                    パラメータ「&postid=`2`」を指定。
                    これは、ポスト後に表示するドキュメントIDを指定します。
                    ここで、ブログインデックスを指定しておけば、とりあえず、
                    つじつまの合う動きになるかなと。。苦肉の策…。
                      • 6158
                      • 224 Posts
                      こんばんは。

                      Quote from: ZeRo at Jan 12, 2007, 03:26 AM

                      nwpub_cal1.path="[(site_url)]manager/media/";
                      この対処は "Use friendly alias path" の NOTE に書かれている通りです。


                      Use friendly alias path

                      NOTE:
                      When setting this option to ’Yes’ (turning on alias paths), reference
                      items (such as images, css, javascripts, etc) using the absolute path:
                      e.g., ’/assets/images’ as oppose to ’assets/images’. By doing so you
                      will prevent the browser (or web server) from appending the relative
                      path to the alias path.


                      Quote from: MEGU at Jan 12, 2007, 07:28 AM

                      (2) フレンドリーURLを使用した時、「blog it!」をクリックした後、
                      アクセスされるべきURLがおかしい (ドキュメントID.htmlになってる)
                      これは、ドキュメントが登録された後、$modx->documentListing が更新されて
                      いない事が原因だと思います。

                      スニペット NewsPublisher のパラメータに &clearcache を設定すると、説明
                      の通り、assets/caches/siteCache.idx.php が更新されると思われます。

                      &clearcache - when set to 1 the system will automatically clear the site cache after publishing an article.

                      DocumentParser クラスがロードされた時に $modx->documentListing は初期化
                      されますので、その後投稿された内容は、$modx->documentListing には反映さ
                      れていないようです。

                      $modx->documnetListing の中に指定された id はないので、仕方なく id のま
                      ま url に使われたという次第のようです。

                      ですので、投稿後に $modx->documentListing を更新してやれば正しい
                      FriendlyURLs を得られると思います。


                      ....で、データの更新を正しくやる手順が未だ分かっていません。


                      p.s.
                      ----
                      これが ditto というものだったのですね、今まで知りませんでした。