(佐賀→熊本)マークアップエンジニアのググる生活

地方のWEB制作会社で働く、フロントエンドエンジニア。
HTML、CSS、JavaScript(jQuery)、PHP、Smary、EC-CUBE、WordPress、Movable Type等々で解らない時に、Googleで検索したら解決した話や、「閃いた!」などをほとんど自分用にメモとして残すブログです。

※URLがあったら元記事を参照推奨です!
※ほとんどの事は検証はしていますが、あくまでも参考程度にお願い致します!
※記載が不正確であったことにより生じたいかなる損害に関しても、当ブログは責任を負いかねます。自己責任でよろしくおねがいいたします。

タグ:グローバル・モディファイア

今回はただの勘違いというか、あーそうかー!と思った程度のメモなのですが、

_default(グローバル・モディファイア)の中でMTの変数を展開させたくて、

<mt:entryAssets type="image" _default="<mt:var name="alternate">"><mt:assetURL></mt:entryAssets>

と、してました・・・。

変数が展開されない。それもそのはず、MTタグの中でまたMTタグを使っているのだから><

<mt:entryAssets type="image" _default="$alternate"><mt:assetURL></mt:entryAssets>

$(ダラー)を付けて変数の名前を指定した所、無事展開されました。


今日の朝からお昼にかけて、雪が降って、割りと積もったので雪だるま作りました!

雪だるま

なかなか丸くならなくて・・・。会社の一角で一人はしゃいでました。

MTタグ内の特定の文字を置き換える場合はどうするのだろうと、思って調べたところ、

replaceというグローバル・モディファイアがありました。


このグローバル・モディファイアは、<$mt:entrytitle$>や<$mt:entrybody$>などに設定することによって、 タグ内の一部の文字を置き換えることができます。

例えば、
<$mt:entrytitle$>内に&という記述が合った場合、それを&amp;と変換したい。という時は、

<$mt:entrytitle replace="&","&amp;"$>

と記述します。


便利ですねー。

ソース

<mt:setvarblock name="3ten_flag"><$mt:entrybody strip_linefeeds="1" remove_html="1" count_characters="1" $></mt:setvarblock>

<mt:if name="3ten_flag" gt="200">
    <$mt:entrybody strip_linefeeds="1" remove_html="1" trim_to="200"$>...
<mt:else>
    <$mt:entrybody strip_linefeeds="1" remove_html="1"$>
</mt:if>


解説

  1. まず、setvarblockにentrybodyの値を覚えさせます。
    3ten_flagが今回のsetvarblockの名前ですね。
    <$mt:entrybody strip_linefeeds="1" remove_html="1" count_characters="1"$>

    □次のグローバル・モディファイアを利用します。
    strip_linefeeds="1" http://p.tl/DCMH
    remove_html="1" http://p.tl/fFpA
    count_characters="1" http://p.tl/fFpA

    strip_linefeedsは改行コードを除去します。
    remove_htmlはhtmlタグを除去します。
    count_charactersは文字数をカウントします。

    これでentrybodyの値をsetvarblockに代入できました。
  2. そしてif文。
    gt="200" これで200文字より多いならば次の処理をしなさい。という命令文が作れます。
    あとは...を付けたいentrybodyに対してtrim_to="200"で文字数調整をして、elseで...なしの処理を行うだけ!

<![CDATA[
  平成元年ちゅぱちゅぱ
  内容「あああああああああああああああああ」
]]>

MTタグから吐き出された改行とかあったりするものを

↓↓↓

<![CDATA[平成元年ちゅぱちゅぱ内容「あああああああああああああああああ」]]>

改行を取って、一行にしてしまう、グローバル・モディファイア。

http://www.movabletype.jp/documentation/appendices/modifiers/strip_linefeeds.html


このページのトップヘ