We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 33023
    • 9 Posts
    こんばんわ。
    以前、MaxiGalleryが動かないと質問したものです。
    現在modxhostテンプレートを自分で変更したテンプレートを使用しており、MaxiGalleryはしっかりと動いているのですが、なぜか、MaxiGalleryを設置しているページに行くとナビゲーション部分がエラーを起こし、サブナビゲーションが表示されなくなります。
    MaxiGalleryの呼び出しコードは以下の通りです。

    [[MaxiGallery? &display=`embedded` &pics_in_a_row=`3` &embedtype=`lightboxv2` &thumb_use_dropshadow=`1`]]

    以上どうぞご教授ください。
      • 19033
      • 892 Posts
      こんにちは。

      んーと。
      現在modxhostテンプレートを自分で変更したテンプレートを使用しており、MaxiGalleryはしっかりと動いているのですが、なぜか、 MaxiGalleryを設置しているページに行くとナビゲーション部分がエラーを起こし、サブナビゲーションが表示されなくなります。

      ナビゲーションというのは、ドロップメニューのことでしょうか?
      もしそうだとすると、Ajax系のライブラリがコンフリクトを起こしているんじゃないでしょうか。
      「lightboxv2」は、「prototype.js」「scriptaculous.js」を使うんで、で、
      modx096 (modxhost)のドロップメニューはデフォルトでは「mootools」を使ってると思います。
      それがコンフリクトを起こして、上手く動かないんじゃないでしょうか。。

      Ajax系のライブラリをどちらかで、統一してみては…?
        • 33023
        • 9 Posts
        MEGU様
        いつもありがとうございます。
        ナビゲーションというのは、ドロップメニューのことでしょうか?
        そのとおりです。すいません名称わからなくて。。
        Ajax系のライブラリがコンフリクトを起こしているんじゃないでしょうか。
        「lightboxv2」は、「prototype.js」「scriptaculous.js」を使うんで、で、
        modx096 (modxhost)のドロップメニューはデフォルトでは「mootools」を使ってると思います。
        なるほど、ひらく種類によって使うファイルが違うのですね。
        勉強不足です。

        そこで調べたところ、Slimboxがmootoolsを使っているようなので
        [[MaxiGallery? &display=`embedded` &pics_in_a_row=`3` &embedtype=`Slimbox` &thumb_use_dropshadow=`1`]]
        と、安直に入れたのですが、動かないですね。。。

        MaxiGalleryのコードを検索してみたのですが、どれも上記コードや[[MaxiGallery]]など一般的なもので、詳細ページってなかなか見つからないですね。(探し方が悪いのかな。)

        modx使いこなすにはjavascriptやらphpやらいろいろ勉強しなきゃだめですね。面目ないです。
        modxすごくおもしろいので、そろそろ本買おうかな。

          • 19033
          • 892 Posts
          こんにちは。

          現象を確認できました。

          modx096 サンプルコンテンツで利用しているmodxhostを
          テンプレートとして選択し、ドキュメントを作成。そこで、

          [[MaxiGallery]]

          と、のみ記述し、保存。

          manage picutures ボタンが表示される。
          この時、ドロップダウンメニューは正常に起動する。
          (この時、maxigallery は、自身でjsを挿入していません)。

          で、manage picureues をクリックしてマネージャ画面に移動。
          この時点で、メニューが動作しなくなる。
          この時、maxigallery は、以下のjsを挿入します。

          <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/draggableReorder.js"></script>
          <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/mooSortables.js"></script>


          これのうち、mooSortables.jsの方が引っかかってるみたいですよね。
          ためにし、
          <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/mooSortables.js"></script>

          を削除したらメニューは動作しました。

          で、この一行をmodxhostで利用しているmootoolsの上に持ってきたら、
          動くみたいなんですけど、どうでしょうか。

          <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/mooSortables.js"></script>

          を
          <script src="manager/media/script/mootools/mootools.js" type="text/javascript"></script>

          の上に持ってくる。つまり以下のような順番に。

          <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/mooSortables.js"></script>
          <script src="manager/media/script/mootools/mootools.js" type="text/javascript"></script>


          そうしたところ、メニューは動作するようなんですが。。
          でも、細かいところまで試していないので、もしかするとどこかでまた
          衝突してしまうかも。。

          一応、やり方としては。
          maxigalleryの方で、「disable_js_libs」を「1」にセットしてやると、
          JSを自動挿入しないはずなので、まず、これをセットして、テンプレート(modxhost)の方に、
          自分で、maxigalleryに必要なJSを書くようになります。

          maxigalleryのパラメータや詳細は、こちらに載せきれなくて、
          ここに書いてあります。
          http://www.liolion.info/modx/resource/maxigallery.html

          試されたらまたご報告して頂ければ嬉しいです~。
          ---*---*---*---*---*---
          追記。
          > ナビゲーションというのは、ドロップメニューのことでしょうか?
          >> そのとおりです。すいません名称わからなくて。。

          すみません。私もわりとテキトーに呼んでいたりします…^^;。
          おかしかったら指摘してくださいね^^。
            • 19033
            • 892 Posts
            あ、maxigalleryのバージョンは0.5.2ですよね。
              • 19033
              • 892 Posts
              取り急ぎなのですが、関連トピックです。
              http://modxcms.com/forums/index.php/topic,15859.0.html
              もしかすると、phpを変更しないとダメなのかも…?
                • 19033
                • 892 Posts
                できました。
                http://www.liolion.info/modx096/index.php?id=50
                これから詳細を書きますぅ。
                  • 19033
                  • 892 Posts
                  http://modxcms.com/forums/index.php/topic,15859.0.html
                  を参考にしました。

                  1.maxigallery.php L447 付近を以下のように。
                  if(!$mg->mgconfig['disable_js_libs']) { 
                    $modx->regClientStartupScript($modx->config['base_url'] . MAXIGALLERY_PATH . 'js/draggableReorder.js');
                    $modx->regClientStartupScript($modx->config['base_url'] . MAXIGALLERY_PATH . 'js/mooSortables.js');
                  }


                  2.テンプレートを以下のように(headに書くjsの順番です)。
                  <head>
                  ......
                  <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/draggableReorder.js"></script>
                  <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/js/mooSortables.js"></script>
                  <script src="manager/media/script/mootools/mootools.js" type="text/javascript"></script>
                  <script src="assets/templates/modxhost/drop_down_menu.js" type="text/javascript"></script>
                  ......
                  </head>


                  スニペットコール
                  [!MaxiGallery? &display=`embedded` &embedtype=`slimbox` &disable_js_libs=`1`!]


                  で、maxigallery もドロップダウンメニューも動いているのですが、
                  slimboxは、デフォルトではで3つのjsを挿入します。
                  <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/slimbox/js/mootools.js"></script>
                  <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/slimbox/js/slimbox_lang_en.js"></script>
                  <script type="text/javascript" src="/modx096/assets/snippets/maxigallery/slimbox/js/slimbox.js"></script>

                  でも、これを入れなくても、動いちゃってるぽいんですよね。。
                  あ、langファイルは、言語ファイルなので、必要があれば入れてください。
                  mootoolsは、ドロップダウンメニューで読み込んでいるので、いらないとしても、
                  slimbox.jsは、何をしてるんだろ。。もしかしたら、ないとダメなのかも。。

                  私もスクリプトはほとんどわからないので。。


                  ※2007.07.04 訂正しました※
                  slimboxは、デフォルトではで3つのjs
                   ・mootools.js
                   ・slimbox_lang_en.js
                   ・slimbox.js
                  を挿入しますが、&disable_js_libs=`1`とすると、mootools.jsを挿入しません。
                  (slimbox_lang_en.js、slimbox_lang_en.jsは、挿入されます)。
                  すみません。勘違いしてました。。
                    • 19033
                    • 892 Posts
                    こんにちは。

                    いろいろ試してみたのですが。
                    問題が出る(ドロップダウンメニューが動作しない)のは、
                    maxigalleryのマネージャ画面で、ですよね。

                    ギャラリーを表示している普通の状態では、問題なく
                    ドロップダウンメニューも動作しているのではないでしょうか。

                    それで妥協、ということであれば、「 &disable_js_libs=`1`」を入れても
                    入れなくても問題なさそうですが、mootoolsを2重に読み込むことになるので、
                    やはり「 &disable_js_libs=`1`」は入れた方がよいだろうと思います。

                    もし、マネージャ画面でもドロップダウンメニューが動作しないと困る、
                    ということであれば、maxigallery.phpを以下のように修正すれば、良いと思います。
                    //register draggable picture sorting script
                    $modx->regClientStartupScript($modx->config['base_url'] . MAXIGALLERY_PATH . 'js/draggableReorder.js');
                    $modx->regClientStartupScript($modx->config['base_url'] . MAXIGALLERY_PATH . 'js/mooSortables.js');
                    return;

                    ↓
                    //register draggable picture sorting script
                    $modx->regClientStartupScript($modx->config['base_url'] . MAXIGALLERY_PATH . 'js/draggableReorder.js');
                    if(!$mg->mgconfig['disable_js_libs']) {
                    $modx->regClientStartupScript($modx->config['base_url'] . MAXIGALLERY_PATH . 'js/mooSortables.js');
                    }
                    return;


                    これだと、テンプレートに自分でmaxigalleryに必要なJSを書かなくても良いと思います。
                      • 33023
                      • 9 Posts
                      megu 様

                      こんばんわ。
                      非常に参考になります。

                      ドロップメニューはマネージャー以外でもだめです。。
                      ちょっといま時間がないので試していないのですが、一通りやってみて
                      また結果お知らせしまっす!