MT

MTでのブログをまたいだテンプレート共有方法(新規書き起こし)

MT

昔同じようなことは書いたんですが、わかりにくかったり理解が十分じゃなかったりしたので書き直しました。 すべてMT4.2xでの話です。MT5は未検証。 ブログ1のテンプレートをブログ2で使いたい ブログ1のテンプレートをブログ2で使うには、blog_idモディファ…

MTでリッチテキストエディタを使うとブラウザで改行がpタグだったりbrだったりで困ったら

MT

これ、地味に困りました。 MT5では変わってるのかなぁ? MTは記事投稿をするときにリッチテキストエディタが使える訳なんですが、 こいつの挙動がブラウザによって違いすぎる!ひどい! IEで使えば改行がpになるけど、Firefoxだったらbrとか、 そのあたりが…

lastnモディファイアの逆が使いたい

MT

最新の○件というのを取り出すのはlastnモディファイアです。 でもこれって実は不便で、assetとかで画像をつけた記事から 画像を取り出すとき、一番最後に添付した画像を取り出して欲しい、という 要求がたまにあったりします。 で、見つけました。 試しては…

カテゴリ名にアンダーバーを設定したのにハイフンになる

MT

ディレクトリ名のアンダーバーがなぜかハイフンになる。 ありますねぇ。 アーカイブマッピング設定を確認しましょう。 アーカイブテンプレートの下部にあるアーカイブマッピング。 これが sub-category みたいになっているとアンダーバーがハイフンになりま…

サブカテゴリがあるかどうか判別するには

MT

<MTHasSubCategories> <MTHasNoSubCategories> これらのタグに囲まれた所がそれぞれの条件に当てはまったら 実行されます。 MTで条件分岐:&lt;MTHasSubCategories&gt;MTカテゴリーページにてサブカテゴリーのみ表示する - WEBデザイン BLOG http://weblibrary.s224.xrea.com/weblog/mt/custom/mtmthass</mthasnosubcategories></mthassubcategories>…

エントリやらカテゴリやらをテーブルレイアウトして表示する

MT

エントリの一覧を表示するには? MTEntries内でMTEntryTitleとかを書き出せば、エントリに 関するデータは引っ張り出せます。 では、それをテーブル上にして並べるには? CSS?JavaScript? ようはこういうプログラムを実行すればいい つまりは、 int mtEntC…

MT形式のフォーマット

ここに書いてあります。 めちゃ簡単。 Movable Type のブログ記事インポートフォーマット | Movable Type 4 ドキュメント http://www.movabletype.jp/documentation/appendices/import-export-format.html

同一カテゴリを抽出するPreviousNextInCategoryがおかしい

MT

何があった? 納品した案件で、「次へのリンクが出ない」といわれて 慌てて調べたらまさにこれでした。 同一カテゴリ内のエントリナビゲーションとして、 「次へ」「前へ」というやつをPreviousNextInCategoryで 実装していたんですが、これでリンクがでない…

アーカイブマッピングの定義で使えるアーカイブファイル名のタグ的定義

MT

ようは%cとかをMTタグで書くとどうなるか、ってことです。 アーカイブマッピングで利用するアーカイブファイル名の定義 | Movable Type 4 ドキュメント http://www.movabletype.jp/documentation/appendices/archive-file-path-specifiers.html

MTで必要なperlのモジュールインストール方法一覧

MT

はCPANからインストールしたもの。 ちなみにCrypt::DSAは本当に死ぬほど時間がかかる。 1.5hほっといたらできてたとか、そういうレベルです。 Crypt::DSA install Crypt::DSA IPC::Run install IPC::Run Archive::Zip yum -y install perl-Archive-Zip HTML:…

概要フィールドの利用

MT MT

MTには「概要」というフィールドが用意されています。 これ、いわゆるMETAのDescriptionとは違うんですが、 そういう使い方もできます。 で、それを読み込むのがMTEntryExcerptタグです。 MTEntryExcerpt | テンプレートタグリファレンス http://www.movable…

モジュールテンプレートのシステム内共有方法

MT

例えば、ブログ1とほぼ同じレイアウトのブログ2を 作ろうとしたとき、ブログ1で作ったテンプレートモジュールを ブログ2で利用したい時の方法です。 MTMultiBlogを使う こんな具合にすれば、ブログ2でブログ1のテンプレートを使えます。 <MTInclude module="header" blog_id="1">これで「ブログ1にあ</mtinclude>…

MT4はファイル名のアンダースコア(_)をハイフン(-)に変える

MT

MT4はベースネームとかで指定したファイル名の アンダースコア(_)をハイフン(-)に変えてしまうようです。 なのでMTEntryPermalinkとかでリンクを生成するときは、 separator="-"としておかないと、リンクが通らないことが あります。 <a href="<$MTEntryPermalink separator="-"$>"> <$MTEntryTitle$</a>…

Perlモジュールの追加

MT

ああめんどくさい。 MTの完全な動作にはいくつかオプショナルな Perlモジュールが必要とされます。 これらがインストールされてない場合は、 cpan2rpmでインストールできるかなー?と思ったら 意外とそうでもなく、依存関係もあり、めんどいです。 Googleで…

生成されるHTMLの空白を消すMTRemoveBlank

MT

MTで生成したHTMLは、ループ内でMTIfなんかを使ってしまうと 空白だらけになります。 これが、まぁソースのサイズが増えるだけならまだしも、表示に 思わぬ影響を及ぼしたりするのでいやだなぁと思ってました。 しかたなく空白が出ても問題ないようにきたな…

最近のコメント・トラックバックを実装するMTEntriesRecently

MT

この人すごい! しばらく運用して問題なさそうだったらドネーションします。 MTは、エントリ毎のコメント・トラックバックは取り出せますが、 例によってブログ全体に渡るそれらを取り出す事はできません。 出来たとしても複雑なテクニックを使って実現され…

Assetで取り出すときに本文に表示される表示を消す正規表現

MT

lightbox対応版。 regex_replace="/<span class="mt-enclosure mt-enclosure- image" style="display: inline;"><a( rel="lightbox")? href="([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)" ( target="(_blank|_self)")?>表示<\/a><\/span>/g",""</a(></span>

ロリポップ上でMTはMysqlを使ったらダメ

MT

ロリポップ上でMTを使う際は、DBをMysqlではなく SQLiteを使いましょう。 めちゃくちゃ重いから。死ぬほど重いから。 しかも投稿時に重すぎて一部データを失うことがあり、 それで原因不明のエラーを吐きますみたいなことを クライアントに言われたりします…

regex_replaceで文字列が一つしか置換されない時は

MT

MTではグローバル・モディファイアリファレンスという ものを使っていろいろタグ出力を加工できます。 その中でも非常に熱いのがregex_replaceな訳ですが、 これは完全にPerlのそれに準じたものな訳です。 つまり本文中のすべての「みかん」を「オレンジ」に…

MTIfの多段による条件分岐

MT

MTElseで条件を判定させるとき、nameもeqとかも必要でした。 注意。 <MTIf name="animal" eq="cat"> 猫 <MTElse name="animal" eq="dog"> 犬 <MTElse name="animal" eq="monkey"> 猿 <MTElse name="animal" eq="bird"> 鳥 <MTElse name="animal" eq="bug"> 虫 <MTElse> 人が好き </MTIf> 拡張された MTElse タグを利用した複雑な条件分岐 | MovableType.jp http://www.movabletype…

ブログ全体の最新エントリ一覧をどこでも表示する

MT

MTのエントリを表示させたければMTEntriesを使うわけですが、 カテゴリトップ等でこれをやると、カテゴリ内での最新エントリ を表示してしまいます。 じゃあどうすればいいかというと、MTArchiveListを使うと 解決するみたいです。なぜかは知らない。 # これ…

コメントのリンクを別窓で開く

MT

MTのコメントの作者部分のリンクは、MTCommentAuthorLink みたいになっていて、リンクのアトリビュートをそのまま 編集したりする事はできません。 そこでこの方法。 <MTIfNonEmpty tag="CommentURL"> <a href="<$MTCommentURL$>" target="_blank" rel="nofollow"> <$MTCommentAuthor default="Anonymous"$></a> <MTElse> <$MTCommentAuthor default="Anonymous"$> </MTElse> </MTIfNonEmpty>…

同一カテゴリ内の前後記事に移動するプラグインPreviousNextInCategory

MT

MTはカテゴリを越えた時系列での前後記事に移動するための タグは用意しているんですが、それをカテゴリ内で行う事は できません。 で、プラグインの登場な訳ですが、PreviousNextInCategoryと 言われるのがそれです。 [MT] カテゴリ内で前後の記事に移動 - …

ロリポップへのMTインストール

MT

ロリポップ!サーバーへのインストール | Movable Type 4 ドキュメント http://www.movabletype.jp/documentation/mtinstall_mt_lolipop.html 注意すべきは、FTPのパスがchrootされていて、 物理パスと違うこと。 勝手に編集するとうまく再構築できません。 …

remove_htmlとencode_xmlは同時に使わない方がいい

MT

正しくHTMLが消えないときがあります。 というか、普通に考えて消えないね。残念。

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

MT

MTタグのアトリビュートで、タグ共通で使えるもの。 なんていうか、これすげぇ便利なのね。 よく使うものを下記に。 remove_html HTMLを削除する。 remove_html="1" http://www.movabletype.jp/documentation/appendices/modifiers/remove_html.html regex_r…

MTでの変数の使い方

MT

MTSetVar 変数に値をセットする。 <MTSetVar name="variable" value="value1"> http://www.movabletype.jp/documentation/appendices/tags/setvar.html MTSetVarBlock タグで囲まれた部分を評価して変数にセットする。 <MTSetVarBlock name="variable"> <MTEntryTitle> </MTSetVarBlock> http://www.movabletype.jp/documentation/appendices/tags/setvarblock…</mtsetvar>

エントリにセットした画像を取り出す

MT

MTのリッチテキストエディタで挿入した画像は、 Assetタグを使うことで取りだすことが可能になった(MT4)。 これ、めっちゃ便利なのね。 どういう風にすればいいか、下記のとおり。 画像がない時も指定できるので便利。 <MTSetVar name="AssetName" value=""> <MTEntryAssets type="image" lastn="1"> <MTSetVarBlock name="AssetName"> <$MTAssetThumbnailURL$> </MTSetVarBlock> </MTEntryAssets> </mtsetvar>

MTEntryBodyはword指定するとHTMLを勝手に切る

MT

そういうことです。 $MTEntryBody$ - エントリー関連タグ - MTテンプレートタグ辞典 http://all-angle.com/mttag/02entry/095.html

静的ページを分割して生成するPageBute

MT

カテゴリトップなどは、非常に長いページになりがちだが、 これを分割するプラグインがあります。 PageButeです。 こんな感じで使います。 <MTPageContents count="10"> <MTEntries> <MTEntriesHeader><dl></MTEntriesHeader> <dt><$MTEntryTitle$></dt> <dd><$MTEntryExcerpt$></dd> <$MTPageSeparator$> <MTEntriesFooter></dl></MTEntriesFooter> </MTEntries> </MTPageContents>