We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 15851
    • 16 Posts
    はじめまして。
    MODxを利用して通販サイトを製作しようとしているデザイナーです。
    まだテストインストールして1週間ほどですが、非常に面白く使いやすいMODxのファンになってしまいました。
    現在利用しようとしている案件に適応させるのはなかなかに大変ですが、もっと他の案件や個人的なサイトに早く使ってみたいと思っています。 wink

    なにぶん使い始めたばかりなので、的外れな質問になってしまったら申し訳ありません。
    現在もっとも頭を悩ませているのは、その通販サイトの、商品カテゴリー一覧ページです。

    アマゾンなどにある一覧のように、左から
    商品アイコン・商品名・値段・詳細ページへいくボタン・購入ボタン
    というような並びで表示したいと思っています。
    dropmenuを利用してできはしないかと思ったのですが、複数のテンプレート変数を同時に表示する方法はどうも見つからないのです。

    何か良い方法はないかと思い投稿いたしました。宜しくお願いします!

      • 33488
      • 429 Posts
      こんにちは。

      多分、カテゴリページで配下の商品を引っ張ってきて一覧で並べたいというイメージじゃないかと推測?するんですが、
      DropMenuではなくて、一覧表示系スニペットのDittoならTVが使えるみたいです。
      http://modxcms.com/forums/index.php/topic,4951.0.html

      自サイトでは、DittoのTV出力を使わずに一覧で取得したドキュメントIDを別のスニペットに渡してTVの情報を出力しています。
      (Dittoが出来る前だったので(^^;))
      DropMenuでも後者のやり方で出来るはずですが、Dittoを使った方が楽じゃないかな

      通販系ならShopXを試すのもよいかも知れません。

        • 15851
        • 16 Posts
        takizさん、情報ありがとうございます!
        早速Dittoを入れてみましたが、パラメータの設定の仕方など少し勉強してみないといけなさそう。
        けれど、機能は期待したものがあるようです!
        リンクしていただいたDittoのページからNewslistingの存在も知りました。
        同じ方が作ってくださったスニペットなのですね。
        見比べて、どちらがいいか試してみます。
        ありがとうございました!
          • 15851
          • 16 Posts
          takizさんに教えていただいたDittoで、かなりいい線まで期待する効果が得られるようになりました。
          ただ、どうしてもパラメータで引っかかっています…


          ------HTMLテンプレート------

          <table>
          <tr>
          <th>商品画像</th>
          <th>商品詳細</th>
          <th>価格(税込)</th>
          <th>&nbsp;</th>
          </tr>
          [[Ditto? &startID=`8` &multilevel=`5` &tpl=`DittoTemplate` &summarize=`3` &tagData=’[~[+id+]~],[+tvitemphoto+],[+pagetitle+],[+tvitemprice+],[+tvitemadd+]’ &tagDelimiter=’,’ ]]

          </table>

          ------HTMLテンプレートここまで------

          ------chunkに登録しているDitto用テンプレート「DittoTemplate」------
          <tr>
          <td class="photo" align="center"><a href="[~[+id+]~]"><img src="[+tvitemphoto+]" alt="商品画像" width="62" height="62" border="0" longdesc="#" /></a></td>
          <td class="items"><a href="[~[+id+]~]">[+pagetitle+]</a></td>
          <td class="price">[+tvitemprice+]円</td>
          <td>
          <form action=”カートリンク" method="post">
          <input type="hidden" name="カートネーム" value="[+tvitemadd+]">
          <input type="hidden" name="ShpCont" value="http://www.ホームページ.jp">
          <input type="submit" name="" value="購入する" border="0"></form>
          </td>
          </tr>
          ------chunkに登録しているDitto用テンプレート「DittoTemplate」ここまで------


          こうして作っています。
          「DittoTempate」では、エントリ(商品)が増えるごと商品一覧テーブルのカラムを自動生成していくということになってます。


          色々試行錯誤してどうやら一覧表示はできるようになったのですが…
          パラメータをよく理解していないせいか、親ディレクトリのテンプレに適用したdittoで
          子ディレクトリの中にある最下層のエントリまで表示させたいのですが、それのやりかたがよくわかりません。
          過去のnewslistingsへの質問で同じような疑問があるようなのですが(http://modxcms.com/forums/index.php/topic,4925.0.html


          どうぞ宜しくお願いします!
            • 33488
            • 429 Posts
            こんばんは、
            呼び出しパラメタのmultiLevelを1にしてみてください。
            これフラグで、1であれば下のレベルをすべて見る
            そうでなければ、その階層だけってなっていると記憶しています。
            ってか、ソース見ればわかるんですが・・一応、これでサイトは動かしてます。
            ではでは、頑張って♪
              • 15851
              • 16 Posts
              takizさん

              お返事ありがとうございます。
              その後自分でもmultilevelのことに気がつき、1にはしてみたものの、結果が全く変わらなかった
              (直下のディレクトリしか読み込まない)ので、まだ頭を悩ませています…

              [[Ditto? &startID=`2` &multilevel=`1` &tpl=`DittoTemplate` &tagData=’[~[+id+]~],[+tvitemphoto+],[+pagetitle+],[+tvitemprice+],[+tvitemadd+]’ &tagDelimiter=’,’ ]]

              もうすこし研究してみます!ありがとうございます!
                • 15851
                • 16 Posts
                さっそく解決いたしました…
                multiLevelのLの字が小文字だったので利かなかったようです embarrassed
                大変慌てものでお恥ずかしい!重ねてありがとうございました。

                が、しかしまた妙なことが。

                先週の段階でエントリーしたものは、前のポストにあるようなテーブルのテンプレートに収まっているのですが
                そののちにエントリーを増やしたものが、

                <h3>Archives</h3><div id="ditto_archivelist">
                <ul>
                <li><span class="ditto_month">June 2006</span><ul><li class="ditto_archpost"><a href="’カテゴリ1/カテゴリ1-1.html">カテゴリ1-1</a> (<span class="ditto_date">12-Jun-06 14:47</span>)</li>
                <li class="ditto_archpost"><a href="’カテゴリ1/カテゴリ1-2.html">カテゴリ1-2</a> (<span class="ditto_date">12-Jun-06 16:43</span>)</li></ul>
                </li></ul>
                </div>


                という形式で表示されてしまい、自作のテーブルのテンプレート”DittoTenmpate”が適用されません。
                (もっというと、”DittoTenmpate”の中でこの"ditto_archivelist"のDivが展開されている)
                新しいエントリに対してwhats new的な表示をする機能かとおもったのですが…

                また、これは埋め込まれているテンプレートの問題ではないかと思うのですが、
                エントリへのリンクタグに「’」が入ってしまっており、正しいリンクに飛べないようです。

                dittoのソースとditto.class.inc.phpをじたいを現在みたり
                &archivePlaceholder &displayArchiveまわりをみていますが…
                  • 33488
                  • 429 Posts
                  えーと、アーカイブ側にでちゃうのはソートじゃないかなと思います。
                  sort=pub_date (だったかな)とかに指定したら変わるかも・・。
                  リンクの問題は、んーー ソース見てみないとなんともいえませんけど。
                  多分、modxのコアの関数を呼び出してるはずなので基本的にはテンプレートか、テンプレートへの展開の部分が問題じゃないかなと思います。
                  Dittoのバージョンあがってたらわかりませんが、そのような問題が出たことはないですねぇ
                    • 15851
                    • 16 Posts
                    takizさん
                    ありがとうございます。
                    ditto_archivelistはたしかにditto.class.inc.phpの中にあったので、
                    これらがどのような状況で呼び出されるのかを調べたほうがよさそうですね。

                    もうすこし悩んでみます。
                      • 15851
                      • 16 Posts
                      またMODxの仕事に戻ってまいりました。

                      >
                      また、これは埋め込まれているテンプレートの問題ではないかと思うのですが、
                      エントリへのリンクタグに「’」が入ってしまっており、正しいリンクに飛べないようです。

                      この点ですが、
                      http://nanabit.net/install-ditto.html
                      こちらのサイトさんに修正点が述べられていて助かりました。

                      takizさんの仰せの通り、
                      /assets/snippets/ditto/lang/english.inc.php
                      にarchiveのテンプレートがあるのですが、そちらに余計なシングルクォーテーションが入っていたようです。


                      その後、別のテスト用サーバで導入テストをすることになり、
                      はからずも復習&わかってないところをまた確認という作業になっております。

                      どうぞ宜しくお願いします!