We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 29248
    • 3 Posts
    はじめまして投稿させていただきます。

    Dittoで日付の表示や並び替えを公開日時にしたくて
    sortBy=`pub_date
    とすると、公開日時を指定していないドキュメントが
    1970/01/01 09:00
    となってしまいます。

    これを、公開日時を指定している場合は公開日時を、
    指定していない場合は作成日時を表示および並びかえ
    とするにはどのようにしたら良いでしょうか?

    Dittoのどの部分を触って良いかわからず、
    それならドキュメントの作成時に自動的に公開日時を
    現在時刻に設定しようとしてみましたが私の力量では
    無理でした・・・。

    どなたかご教授いただけないでしょうか?
      • 33488
      • 429 Posts
      Ditto2系ではどうでしょう?dateSourceにpub_dateを指定したときに、pub_dateがなければCreatedonが使われるんじゃないかと思います。
      Ditto1系では、おっしゃる通りの状態になります。
      スニペットを作ってそれを経由して日付け表示をさせる手が考えられます。
      スニペット側で、日付けがおかしければcreatedonのデータを引っ張ってくるような感じです。

        • 29248
        • 3 Posts
        ZeRo様

        アドバイスどうもありがとうございます。
        教えていただいたDitto2で日付に関しては期待通りの動きをしそうです。
        ただ、アーカイブが表示されなかったり、色々な不具合がでています。
        ただ
        tplFirstRow→tplFirst
        など若干仕様が変わってる部分があり色々と試行錯誤しております。

        そこでもう一つ質問させていただきたいのですが、
        snippet.reflect.php
        はどのように使うのでしょうか?
        snippet.ditto.php
        はdittoというスニペットをつくって使用しているのですが、
        snippet.reflect.phpに関しても
        reflectというスニペットを作るだけで良いのでしょうか?
        いまいちインストールする手順がわかりませんので、
        英語等でもかまいませんのでインストール手順のわかるサイト等を
        ご存知でしたら教えていただけないでしょうか?
          • 33488
          • 429 Posts
          reflectというスニペットをDittoと同じように作ってください。
          アーカイブ一覧は、このReflectで作るようです(ちょっと試してないので細かいところは私もよくわかってないんですが)

          詳細は、Dittoの専用ページに記載されているんではないかと・・・ http://ditto.modxcms.com/ です。
          もし、不具合があるようでしたらSVN版をダウンロードしてみると直ってる可能性高いです。
          (私もSVN版使っています、近々アップデートされる可能性も高そうです)
            • 19033
            • 892 Posts
            こんにちは。

            そこでもう一つ質問させていただきたいのですが、
            snippet.reflect.php
            はどのように使うのでしょうか?
            snippet.ditto.php
            はdittoというスニペットをつくって使用しているのですが、
            snippet.reflect.phpに関しても
            reflectというスニペットを作るだけで良いのでしょうか?

            えっと。Ditto_2.0.2をダウンロードされたんですよね?
            そうすると、
             assets(フォルダ)
              snippets(フォルダ)
               ditto(フォルダ)
               reflect(フォルダ)
             snippet.ditto.php
             snippet.reflect.php
             …他

            があったと思うのですが、このうち、assets以下は、
            現在のサーバーの該当ディレクトリにFTPなどでアップロードします。
            それから、snippet.reflect.phpの中身をスニペットの新規作成で
            作ればよいと思います。dittoとreflectは、連係して動作する、
            独立したスニペットみたいな感じでしょうか。。

            ZeRoさんのおっしゃっているとおり、アーカイブ関係は、reflectに
            任せるようになってる見たいです。0.9.6rc3には、dittoの2.xが
            同梱されていますが、そこでのサンプルコンテンツのblogページに
            書かれているスニペットコールは、以下のようになっています。

            [[Ditto? &startID=`2` &summarize=`2` &removeChunk=`Comments` &tpl=`ditto_blog` &paginate=`1` &extenders=`summary,dateFilter` &paginateAlwaysShowLinks=`1` &tagData=`documentTags`]]
            
            Showing [+start+] - [+stop+] of [+total+] Articles
            [+previous+] [+pages+] [+next+]
             
            [[Reflect? &dittoSnippetParameters=`startID:2` &groupByYears=`0` &showItems=0` &tplMonth=`reflect_month_tpl`]]


            一番上のかたまりがDittoコールです、その下のかたまりが、
            ページナビゲーション。そして一番下が、アーカイブを表示するreflectコールですよね。。

            で、ページの表示状態は、こんなかんじになってます。
            http://www.liolion.info/096rc3/blog.html
            (↑このURLはわりとすぐなくなっちゃうかも。。)

            私も、まだちゃんと使ってないので、詳しく言えなくてごめんなさい。。
              • 29248
              • 3 Posts
              ZeRo様

              ご回答ありがとうございます。
              Reflecでアーカイブを作るんですね。
              あと、Dittoの専用ページがあるのもはじめて知りました。
              少しづつ理解していこうと思います。


              MEGU様

              詳しいインストール方法の説明ありがとうございます。
              あと0.9.6rc3がDitto2になってるのは盲点でした。
              早速インストールして研究してみます。


              ZeRo様、MEGU様どうもありがとうございました。