We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 34162
    • 1 Posts
    たびたびトピック作ってすみません。お邪魔いたします。

    現在FDMとdittoを使用してブログっぽいのを作成中です。

    contentに内容があった場合にだけ追記のReadmoreを表示させたいのですが、何か良い方法はありませんでしょうか?全ての記事に追記リンクが表示されるのは避けたいです。

    「StartIf & EndI 」というスニペットを使ってみたのですが、dittoを使用して1ページに複数記事が並ぶと動作しないようなのでした。
    テンプレート変数を使って追記を表示させたい時だけチェックを入れたりできないかなとも思ったんですがテンプレート変数の理解までなかなか及びませんでした。テンプレート変数を使ったら、リンクの文字も「Readmore」からその都度、任意の文字に変更できるのかなぁとも思ってるんですが、難しいです。

    力技で入力フォームの時にタグを直接記載してみたんですが、これだとリンクが表示されませんでした。管理画面からソースを記入すると表示されるので、不思議です。


    どうぞご助力お願いします~。
      • 6350
      • 421 Posts
      今回、FDM は関係ないですね。ditto だけの問題と思いますぅ。
      リンクの文字の「Readmore」はdittoのオプションで&truncText=`もっと見る・・・`のように変更できます。
      ただし、要約 infotext が入力されている場合には &truncText は無視されるようです(^。^)y-.。o○
      あれ。。ちがう、常に表示されます(^^ゞ

      「StartIf & EndI 」というスニペットは不要です。&truncLen のditto オプション設定文字数を超えた場合だけ &truncText が表示されるはずです。&truncLen を省略した場合は 300文字だっけかな?

      [!Ditto? &startID=`2` &summarize=`10` &removeChunk=`Comments` &tpl=`お知らせ書式` &paginate=`1` &dateFormat=`%Y年%m月%d日 (%a) ` &extenders=`newicon,summary,dateFilter` &paginateAlwaysShowLinks=`1` &tagData=`documentTags` &truncChars=`1` &truncLen=`300` &truncText=`もっと見る・・・`!]
        • 26012
        • 324 Posts
        cさんこんにちは
        Quote from: c at Mar 27, 2009, 05:40 PM

        現在dittoを使用してブログっぽいのを作成中です。contentに内容があった場合にだけ追記のReadmoreを表示させたい
        Dittoのtplで指定したテンプレートチャンクの中で、PHxプラグインで対応してみてはいかがでしょう。(2プラン提示。divタグ近辺はご随意に)
        [+phx:if=`[+content:len+]`:is=`0`:then=``:else=`<div class="readmore" >[+link+]</div>`+]

        <div class="readmore" >[+phx:if=`[+content:len+]`:is=`0`:then=` `:else=`[+link+]`+]</div>

        ご注意)
        PHxは大変便利なプラグインですが、ドキュメントのパース(解析)過程に介入するため、プラグインの実行順によっては他の処理を
        阻害することがあるようです。その場合、ドキュメントごとにPHxの有効/無効を切り替える必要が出てくるかもしれません。
        このような弊害が懸念される場合は、上記と同じロジックの数行のスニペットを作って対処する方法も考えられます。
          • 34162
          • 1 Posts
          dainitiさん、sama55さん


          レスありがとうございます!

          教えて頂いたPHxプラグインを導入して、無事に動作しました laugh
          プラグインは全然いじったことがなかったんですが、PHxは他にも色々と活用できそうなのでちょっとずつ勉強したいと思います。

          dainitiさんに教えて頂いた「&truncText」を使って、記事ごとに「Readmore」の文言を帰れないかなとテンプレート変数を使って項目を追加してみたんですが、スニペットの呼び出しでは使えないんですね。
          これもプラグインを使用すれば何とかできるんでしょうか huh

          MODxはホントに色々できますね。
            • 26012
            • 324 Posts
            Quote from: c at Mar 30, 2009, 08:43 AM

            テンプレート変数を使って記事ごとに「Readmore」の文言を変えることができないか
            上記は以下のような結果を期待してますか?
            (言葉どおりに理解すると下のような感じになると思うのですが・・・意味がないので違いますよね ^^;)
            ---------------------------------
            ドキュメントA-1のサマリ        Readmore
            ---------------------------------
            ドキュメントA-2のサマリ       続きを読む
            ---------------------------------
            ドキュメントA-3のサマリ        詳細
            ---------------------------------

            それとも、下のページの「新着商品」の"NT9999-99"のような感じで、ページごとに異なる値を表示したい。
            (つまり、「テンプレート変数に設定されたドキュメント毎に異なる値をDittoで表示する方法は?」でしょうか)
            http://mx.quickart.jp/na/

            どちらにしても、Dittoはドキュメントを反復処理する過程で、テンプレート変数をプレースホルダ配列に
            読み込みますので、tplで指定したテンプレートチャンクの中で、[+TVName+]と記述することで表示
            できるはずです。(TVName=テンプレート変数名)

            cさんの意図(目的)がうまく読み取れてない場合は、「こうしたい(こうなると満足)」的なことをもう少し
            具体的に表現してもらえますと、もっと的確なアドバイスができるかもしれません。