HOME > Movable Type > カスタマイズ > 「trim_to」で文字数を制限したとき「...」を付ける

「trim_to」で文字数を制限したとき「...」を付ける

サイドバーなどにエントリ(タイトル)のリストを表示するときなど、スペースの都合で表示する文字数を制限したいことがあります。

モディファイア「trim_to」を設定すれば文字数は制限できますが、制限されたときに文字列の後に「...」などを追加して文字列に続きがあることを示したいものです。

しかし、Movable Typeには、その機能がないようです。(知らないだけかもしれないですが)

そこで、次のような方法で「...」を付けてみました。

<コードサンプル>

  • <MTIgnore>文字数を制限する</MTIgnore>
  • <MTSetVarTemplate name="var_trim">
  • <$MTGetVar name="var_before" trim_to="$var_trimNum" setvar="var_after"$>
  • <MTIf name="var_before" eq="$var_after">
  • <$MTGetVar name="var_before"$>
  • <MTElse>
  • <$MTGetVar name="var_after"$> ...
  • </MTElse>
  • </MTIf>
  • </MTSetVarTemplate>
  •  
  •  
  • <MTIgnore>制限数</MTIgnore>
  • <$MTSetVar name="var_trimNum" value="30"$>
  •  
  • <div>
  • <h2><サンプル1(タイトルリスト)></h2>
  • <p>制限数: 30</p>
  • <ul id="example_title">
  • <MTEntries lastn="8">
  •  
  • <MTIgnore>文字数を制限する項目</MTIgnore>
  • <$MTEntryTitle setvar="var_before"$>
  •  
  • <li><a href="<$MTEntryPermalink$>"><$MTGetVar name="var_trim"$></a></li>
  • </MTEntries>
  • </ul>
  • </div>
  •  
  •  
  • <MTIgnore>制限数</MTIgnore>
  • <$MTSetVar name="var_trimNum" value="50"$>
  •  
  • <div>
  • <h2><サンプル2(概要リスト)></h2>
  • <p>制限数: 50</p>
  • <ul id="example_excerpt">
  • <MTEntries lastn="8">
  •  
  • <MTIgnore>文字数を制限する項目</MTIgnore>
  • <$MTEntryExcerpt setvar="var_before"$>
  •  
  • <li><a href="<$MTEntryPermalink$>"><$MTGetVar name="var_trim"$></a></li>
  • </MTEntries>
  • </ul>
  • </div>
UP