We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17183
    • 20 Posts
    いつもお世話になっております。
    Wayfinder を使っていますが、 startId に親の親のIDを指定したいんですが、どうすればいいんですか?
    (Wayfinderを記述するドキュメントから見ると、おばあちゃんドキュメントのID wink )
    よろしくお願いします。
      • 36592
      • 970 Posts
      他にもやり方はあるかもしれませんが、getField というスニペットを使って...
      [!getField? &docid=`[*parent*]` &field=`parent`!]

      とすれば、2つ上のドキュメントのIDが得られるようです。

      2つ上にはドキュメントが無いときにどうなるかはわかりませんが...
      Wayfinderで作ろうとしている(恐らく)メニューは、こういうことは絶対起こらない(必ず2つ上にドキュメントがある)んですか?
        • 19033
        • 892 Posts
        こんにちは。
        これで大丈夫、だとおもうのですが、
        [!GetField? &field=`id` &parent=`1` &parentLevel=`2`!]

        parentLevel 1 ならは、直接の親

        でも、おばあちゃんがいない場合、値が出力されないですね。。

        --*--*--*--*--*--*--
        なぜかスレが迷子になっていたので、ここに移動ましした。
          • 36592
          • 970 Posts
          MEGUさん

          そっちの方が正しい使い方ですね~きっと。
          勉強になりました。
            • 17183
            • 20 Posts
            tkfm さん
             いつも助けてくれて、大変ありがとうございます!
            なるほど、Wayfinderに固執したのがいけなかったんですね。

            MEGU さん
             ありがとうございます!よくわかりました~♪
              • 19033
              • 892 Posts
              こんにちは。あと、ここも参考になるかも。
              http://modxcms.com/forums/index.php/topic,12443.0.html
                • 36592
                • 970 Posts
                誤解されているといけないので念のため...
                Quote from: ling at Mar 25, 2008, 08:51 AM

                なるほど、Wayfinderに固執したのがいけなかったんですね。
                上のgetFieldスニペットを使うと言う話は、Wayfinderの「&startId」にこれを指定する...すなわち、
                [[Wayfinder? &startId=`[!GetField? &field=`id` &parent=`1` &parentLevel=`2`!]` ... ]]

                っていう話です。決して、Wayfinderの代わりにgetFieldスニペットを使うという話ではありません。
                getFieldスニペットはおばあちゃんドキュメント tongueのID(数字)を返すだけですから。
                  • 17183
                  • 20 Posts
                  ご指摘、ありがとうございます。(実は思いっきりやってしまったんです。)
                  話は変わりますが(そんなに変わってません)、ドキュメントに、以下のように記述すると、両方とも、何も表示されなくなります。

                  [[Wayfinder? &startId=`[!GetField? &field=`id` &parent=`1` &parentLevel=`2`!]`]]
                  または、
                  [[Wayfinder? &startId=[!GetField? &field=id&parent=1&parentLevel=2!] ]]

                  MODxの設定の問題でしょうか?


                  ちなみに、今、私が使っているMODxでは、スニペットの code を記述する時、その変数を ’ ’ で囲んだら、画面に何も表示されません。
                  数字(id)が表示ない→ [!GetField? &field=`id` &parent=`1` &parentLevel=`2`!]
                  表示(id)される→ [!GetField? &field=id&parent=1&parentLevel=2!]
                    • 36592
                    • 970 Posts
                    基本的に、スニペットのパラメータは「`」(よく間違えるんですが、「7」のキーの方(シングルクォーテーション)ではなく、「@」のキーの方(バックティック)です。)で囲わないといけないと言われています。囲わない場合、動作しないとまでは言い切れないと思いますが、トラブルの元です。

                    Wayfinderの件は、まずは正しく&startIdパラメータにドキュメントIDが渡っているか(GetFieldスニペットが正しいドキュメントIDを返しているか)確認が必要ですね。それでも動かないとなればキャッシュの問題かもしれません。MODxのキャッシュのクリアとか、ブラウザ側のキャッシュのクリアをしてみて下さい。
                      • 17183
                      • 20 Posts
                      tkfmさん、いつもありがとうございます。
                      以下の四通りを確かめました。

                      [[Wayfinder? &startId=`[!GetField? &field=`id`&parent=`1`&parentLevel=`2`!]`&level=`1`]]

                      →何も表示されない。

                      [!Wayfinder? &startId=`[!GetField? &field=`id`&parent=`1`&parentLevel=`2`!]`&level=`1`!]

                      →`&level=`1`]] と表示される。

                      [[Wayfinder? &startId=`[*parent*]`&level=`1`]]

                      →Wayfinder の機能が正常に動作する。

                      [!GetField? &field=`id`&parent=`1`&parentLevel=`2`!]

                      →確かにおばあちゃんIDが表示されました。(数字のみ)


                      MODxのキャッシュクリア、ブラウザのキャッシュクリアをやっても、上記と同じように表示されます。(ブラウザはFirefox2、IE7の両方で確認)
                      そもそもMODxの設定がおかしいのでしょうか?お願いします。