本文へジャンプ

MovableType Tips : 一定の文字数以上になったら、末尾に「...」をつける

新着情報などの一覧を出力する際に、本文の一部を出したい。

ただ、「mt:EntryExcerpt」だと常に「...」がついちゃう......。
ある一定以上の文字数の場合のみ、末尾に省略した意味の「...」を付けたい!
という時のサンプルをどうぞ!

サンプル#01:「mt:EntryBody」の場合

サンプルコード

<$mt:EntryBody count_characters="1" setVar="cntWord"$>
<p><$mt:EntryBody words="150" convert_breaks="0" remove_html="1"$><mt:If name="cntWord" gt="150">...</mt:If></p>

コード解説

まずは、本文「mt:EntryBody」の文字数を「count_characters="1" 」で出力し、変数「cntWord」に格納。
本文出力の末尾に「mt:If」をつかって、変数「cntWord」の文字数を比較。
「mt:If gt="xx"」は「〜より大きい場合」となります。
本文出力自体は「words="xx"」で制御します。

サンプル#02:「mt:EntryTitle」などの場合

サンプルコード

<$mt:EntryTitle count_characters="1" setVar="cntWord"$>
<p><$mt:EntryTitle escape="html" trim_to="85"$><mt:If name="cntWord" gt="85">...</mt:If></p>

コード解説

「mt:EntryTitle」などは「words」が使えないので「trim_to="xx"」で代用。

Recent Entries
MD EVENT REPORT
What's Hot?