We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31349
    • 26 Posts
    MODxを以下の位置にインストールしテスト運用しています。
    http://uso.mysite.jp/sub/modx/

    config.inc.phpの記述を修正し、site_urlにからむリンク出力についてはクリアになったのですが、Wayfinderで生成される[+wf.link+]が修正できていません。
    Wayfinderの各ファイルをさらってみて、makeUrlまでは見つけたのですが、makeUrlはいずこで‥‥‥。 huh
    そもそもmakeUrlしてるのはコアファイルっぽく、Wayfinder内で修正きかないのかなと huh
      • 26012
      • 324 Posts
      少し厳しい内容になってしまいますがご容赦ください。

      フォーラムへの投稿は、以下のことに配慮して行ってください。

      1.読み手の立場に立って文章を書くこと

        自分の言いたいことや欲してることを正しく書くことは勿論大切ですが、それ以上に相手の理解を助ける(相手を思いやって)
        文章を書くことはもっと大切です。これは、丁寧に文を書くとかそういうことではなくて、「こう書いたら相手はどう理解するだろう」
        とか「こう書けばきっと相手も分かり易いはず」といった視点で書くと、読み手の人はストレスなく反応できますし、素早く解答を
        得る確率も高くなります。また、自分の頭を整理する効果も期待できますので、場合によっては途中で解決してしまうかもしれません。

      2.目的を明確にすること

        何をしたいのか(最終的にどうなれば自分の希望する形になるのか)をしっかり相手に伝えてください。
        具体的な例を交えられればより効果的です。
        例えば...AAAAの条件下でBBBBをCCCCした場合、DDDDになるようにしたい。 など。

      3.より多くの情報を提示すること

        1.と一部重複しますが、良質な情報や素早い反応を得るためには、より多くの情報を提示することが不可欠です。
        例えば、使っているソフトウェアのバージョンを示したり、現在焦点となっているアドオンプログラムの種類やバージョン、
        自分が調べた経緯や自分なりの考察など。

      技術的な質疑応答の経験があまりない人にとって、上記のことすべてを実践するのは非常に難しいことだと思います。
      でも、1.に配慮するだけでも結果は見違えるようになりますし、何よりも気持ちの良いやり取りが出来るはずです。
      是非実践してみてくだだい。(かくいう私も常に実践中です) ^^;
        • 28073
        • 164 Posts
        Nucleus2MODxさんこんにちわ smiley

        とりあえずわかる範囲だけ解答します。
        makeURLとは$modx->makeUrl(xxxx)のことでしょうか?

        この関数はMODxのコアソースに書かれているので、もし修正するのでしたらWayfinderの範疇内にはおさまらなくなってしまいます。
        修正を行って今の問題を解決することはできるかもしれませんが他の部分にその修正の影響が及ぶ可能性もあり、またMODxのバージョンを上げるときに修正分が上書きされないように常に注意する必要もあるため、MODxコア部分の修正はあまりお勧めできません。
        もっと別の方法で問題の解決を考えてみてはいかがでしょうか。
          • 36592
          • 970 Posts
          Quote from: Nucleus2MODx at Jan 18, 2009, 04:06 AM

          config.inc.phpの記述を修正し、site_urlにからむリンク出力についてはクリアになったのですが...
          そもそもこれってあんまり良くない修正だと思います。
          通常は修正する必要の無い部分ですもんね~

          具体的にどんな問題が起こっているか教えて頂けると、
           解決策も出てくるんじゃないかな?
            • 31349
            • 26 Posts
            そうですそうです、$modx->makeUrl(xxxx)のことです。
            site_url出力に関するリンクまわりの問題についてはフォーラム内でもいくつか過去にあがっているのをみており、現バージョンのMODxではsite_urlまわりでハードコーティングされた箇所が多く、素直にhome/直下にインストールして使うのが無難という話は見ていたのですが、書き込みの対象バージョンが不明だったもので、最近では状況に変化がないものかと質問してみました。

            home/sub/modx/にインストールして、
            site_urlはconfig.inc.phpで指定、
            htaccessで^modxへのアクセスをsub/modxにいかせてます。

            こうすると(サンプルサイトのソース記述)

            Wayfinderで生成される以外のリンクは正常にソース記述されますが
            <a href="index.php?id=9" title="Mini-Blog HOWTO">Mini-Blog HOWTO</a>


            Wayfinder生成のリンクはsite_url決め打では効かないようで以下のようになってしまう。
            <a href="/sub/modx/index.php?id=2" title="Blog">Blog</a>


            こう記述されるとリンク動作には問題ないが、隠したい/subが顔を出してしまう。
              • 36592
              • 970 Posts
              これって、<base> タグを入れるなりエイリアスパスをオフにするなりということとは違うんですか?
              (イマイチ問題が何なのかが理解できていません... スミマセン。)
                • 31349
                • 26 Posts
                base hrefは入れてあります。
                 <base href="http://uso.mysite.jp/modx/"></base>

                エイリアスパスについては、そもそもフレンドリURLを利用していない(off)です。
                  • 36592
                  • 970 Posts
                  何となく意味がわかりました。

                  で、問題のmakeUrl()ですが、[(base_url)] を頭にくっつけて返すみたいです。
                  config.inc.php の中をどのように修正して [(site_url)] を直したのかわかりませんが、
                  同じように [(base_url)] を修正してみては如何でしょうか?
                    • 31349
                    • 26 Posts
                    ありがとうございます、うまくいきました。 laugh

                    site_urlと同様にbase_urlもconfig.inc.php内で以下のようにいじりました。
                    $site_url = 'http://mysite.jp/modx/'; //MY MOD
                    $base_url = 'http://mysite.jp/modx/'; //MY MOD


                    とりあえずサンプルサイトをさらっとクリックして回っている範囲では問題はなさそうな感じです。

                    ついでにフレンドリURL:ON、sub/modx/.htaccessのRewriteBaseを/sub/modx/にして見て回ってますが、正常に各所リンクされている様です。
                    う〜ん、今のところはなんでこれまで、「サブディレクトリインストール及びsite_url修正」がそんなに避けられていたのかわかりません。 huh
                    そのうちトラブルがでてくるのかな。

                    以下の記載ではリンク出力はOKでしたが、ドキュメントの編集でリッチテキストで編集が効かなくなりました。
                    $base_url = '' ;