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

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

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

カテゴリ: MovableType

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

_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で...なしの処理を行うだけ!

二つのカテゴリーがあるとします。

その二つのカテゴリーには年別アーカイブがあります。
(アーカイブマッピングを「カテゴリ 年別」に設定。)

その二つのカテゴリーの年別アーカイブをすべてのテンプレートで表示させるとします。

力技かも知れませんが以下で表示できました。

<dl>
    <dt>はつねみく</dt>
    <dd>
        <mt:blogs ignore_archive_context="1">
        <mt:categories>
        <mt:ifcategory name="はつねみく">
        <mt:archivelist archive_type="category-yearly">
        <mt:archivelistheader><ul></mt:archivelistheader>
            <li><a href="<$mt:archivelink$>" title="<$mt:archivetitle$>"><$mt:archivedate format="%y年"$>(<$mtarchivecount$>)</a></li>
        <mt:archivelistfooter></ul></mt:archivelistfooter>
        </mt:archivelist>
        </mt:ifcategory>
        </mt:categories>
        </mt:blogs>
    </dd>
</dl>
<dl>
    <dt>かがみねりん</dt>
    <dd>
        <mt:blogs ignore_archive_context="1">
        <mt:categories>
        <mt:ifcategory name="かがみねりん">
        <mt:archivelist archive_type="category-yearly">
        <mt:archivelistheader><ul></mt:archivelistheader>
            <li><a href="<$mt:archivelink$>" title="<$mt:archivetitle$>"><$mt:archivedate format="%y年"$>(<$mtarchivecount$>)</a></li>
        <mt:archivelistfooter></ul></mt:archivelistfooter>
        </mt:archivelist>
        </mt:ifcategory>
        </mt:categories>
        </mt:blogs>
    </dd>
</dl>


<mt:blogs ignore_archive_context="1">については、
http://www.ilovex.co.jp/blog/system/businessdevelopment/mt-category-archive.html
を参考にしました。


<div class="box">
  <dl>
   <dt>aaaa</dt>
   <dd>ああああ</dd>
  </di>
  <dl>
   <dt>aaaa</dt>
   <dd>ああああ</dd>
  </di>
  <dl>
    <dt>aaaa</dt>
    <dd>ああああ</dd>
   </di>
</div>

上記のようにdlを三回繰り返したらdivで囲いたい場面に直面してしまったので頑張って考えたのですが・・・。
閉じdivのif文がちょっとわからなくてググりまくりました。

http://d.hatena.ne.jp/tacamy/20100402/1270213752

助かりました。
ありがとうございます!

MT5からはデフォルトでMultiBlogってプラグインが導入されています。

今の今までただの飾りだと思ってました・・・。

でも全然違って大切なものでした。

http://www.movabletype.jp/documentation/mt5/design/multiblog/index.html#trigger

ウェブサイトとブログ記事の連携には欠かせない再構築のトリガーの設定ができます!

MT5でカスタムフィールド(画像)に入れた画像を自動的にサムネイルも生成したいと思い、

プラグインじゃないと無理じゃないかなーっと思ってずっと探してたのですが、

例のごとく、ちゃんと公式にありました。

<$MTAssetThumbnailURL$>

http://www.movabletype.jp/documentation/appendices/tags/assetthumbnailurl.html

便利すぎて血吐いた。

<$MTAssetThumbnailURL width="value_foo" height="value_foo"$>

にて任意のサイズが指定できます。

ifが3つ程増えただけなのですけど、全体の再構築の時間が2倍になってしまいました。

とある事情で、
PreviousNextInCategoryのプラグインを
使わずにMTタグだけで前後リンク作っていたら大変なことに・・・!

仕方ないのですけどねぇー。

MTの記事作成画面のカスタムフィールドの表示数のことなんですが、

なんか65件までしか表示してくれないっぽいです。



ちょっと80個くらい作らないといけないことが発生してて作ってたのですが、
なんどやっても全部表示してくれない。

カテゴリーに表示されているカスタムフィールドの上から65件までしか表示されない。

66件目以降はチェック入れて保存してもチェックがはずれて出てくる・・・。

バグなのか。設定で出来るのか・・・。それとも今使ってるのがおかしいのか。
要検証かなぁ。
ググってもなんかでてこねーしなぁ。みんなそんないっぱいつかわないものね。


知ってる方がいらっしゃいましたら教えてください><





※追記 2011/06/22

ブログ記事の作成の右側にある「表示オプション」から余裕で表示できました・・・。

色変えたいとか言われたので、ググりにググり。

http://rokufc2.blog.shinobi.jp/Entry/76/
ここにありました。

「FCKEditor」は、「CKEditor」に改名してMT5に対応したそうです。

このページのトップヘ