MTIfを使いこなそう!(2) MTIfの逆バージョン、MTUnless

前々回から連載を開始した「MTIfを使いこなそう!」

おかげさまで大好評! ・・・ってなこともなく特に反応がありません(爆)

ま、別にいいんですけどね! ・・・とイジケながら第二回、行きます(笑)

前回は

<MTIf name="○○">表示したい内容</MTIf>

という形が基本で、○○に

  • main_index と入れるとメインページにだけ内容が表示
  • entry_template と入れるとブログ記事(エントリー)にだけ内容が表示
  • category_archive と入れるとブログ記事リスト(カテゴリー)に表示

というところまでお話ししました。 大丈夫ですか?

・・・ま、大丈夫であろうとなかろうと次行きますが。どーせ反響ねぇし(爆)

で、今回は逆のバージョン。

「~~でない場合だけ表示」

という場合の処理の仕方を説明します。

これは具体例を考えた方がわかりやすいと思います。

例えばトップページ以外のすべてのページに何かを表示したい場合、<MTIf>だけで処理しようとすると、<MTIf>で

  • エントリーの場合
  • ウェブページの場合
  • カテゴリーの場合
  • 月別アーカイブの場合
  • アーカイブページの場合

等々、トップページ以外のページで必要な分、<MTIf>の指定をいくつも書いていかなければなりません。

そこでこういう場合は逆の指定、「もし~~でなかったら」という処理をすればいいわけです。そのタグが今回取り上げる

<MTUnless>~~</MTUnless>

です。

Unless はまさにifの逆、if not の意味です。確か中学で習った英単語のはず。義務教育ナメたらあきまへんで!(笑)

使い方は<MTIf>と同じで、「name="○○"」で、○○に指定を入れると、それ以外の場合にのみ実行されます。

ですから「トップページ以外の全ページに表示したい」という場合は、

<MTUnless name="main_index">表示したい内容</MTUnless>

と書けば、トップページ以外の全ページでタグの中身が表示され、トップページには何も表示されない、となります。

たとえばこの『HOUSE & GARDEN』というサイト。

これは委託されてMT4で私が作ったものです。あ、ご覧になったらついでに家の一軒でも買ってやって下さい(爆)

このサイト内の個別のページを見てもらうと、左側のサイドメニューの一番上に

hg-banner.jpg

というバナー画像のリンクがありますよね?

しかしトップページでは、右側コンテンツ領域の下の方に、一回り大きいバナー画像がありますので、トップのサイドメニューには不要であり、「トップページのサイドメニューだけ外して」と言われました。

こういう時にこの<MTUnless>を使って、

<MTUnless name="main_index">
HOUSE & GARDEN ONLINE SHOPバナー画像のタグ
HOUSE & GARDEN SHOPバナー画像のタグ
</MTUnless>

とすれば、トップページには表示されなくなって、それ以外のページではそのまま表示されるわけです。

どこに表示させてどこに表示させたくないか、その対象範囲によって<MTIf>と<MTUnless>を効果的に使い分けて、スマートなソースを書きましょう(^^)

ということで次回はMTIf関係の三大基本タグの最後、といま勝手に命名しましたが(笑)、知っておくべきもう一つのタグ、<MTElse>を取り上げる予定です。

・・・反響がなくても取り上げます!(笑)

★この記事をSEO bookmarkに登録 ⇒

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: MTIfを使いこなそう!(2) MTIfの逆バージョン、MTUnless

このブログ記事に対するトラックバックURL: http://www.kowaza.net/sys/mt-tb.cgi/34

コメント(2)

コメント投稿者:渡辺

If、Unlessで悩んでいましたので、大変参考になりました。
ありがとうございます。

質問があるのですが、もう少し細かく指定は出来ないのでしょうか。

特定のエントリーや特定のカテゴリーのみなど。

コメント投稿者:Kota

渡辺さんこんにちは。コメントありがとうございます。
お役に立てたようで何よりです(^^)

> 質問があるのですが、もう少し細かく指定は出来ないのでしょうか。
>
> 特定のエントリーや特定のカテゴリーのみなど。

結論から言えば、可能です。

ただそのためには、<MTSetVarBlock>を
使う必要があります。

きちんと説明しようとするとかなり長くなるので、
何回かに分けて説明していこうと思っているんですが、
ちょっとメルマガ発行と更新にまで手が回らず(^^;

とりあえずザックリと、任意のエントリーを
MTUnlessの対象にする方法を説明しますと、
たとえばエントリー(ブログ記事)テンプレートでしたら、
まずエントリーのIDを<MTSetVarBlock>で
任意の変数に代入します。変数名をeidとすると、

<MTSetVarBlock name="eid"><MTEntryID><MTSetVarBlock>

として、これをテンプレートの上の方に書いておきます。

これによって、eidという変数にエントリーのIDが
代入されます。

そしてたとえばIDが40のエントリーの時だけ
MTUnlessを適応したい、たとえばID40のエントリーだけ
ある画像を表示させない、といった処理は、

<MTUnless name="eid" eq="40">
<img src="~~" />
</MTUnless>

というようにすると、eidがイコール40の時、
つまりエントリーのIDが40の時以外は
<MTUnless>の中身、上の例だと<img>タグが
表示され、ID40のエントリーには画像が表示されない、
ということになります。

MTIfやMTUnlessは、MTSetVarやMTSetVarBlockを
併用することで、非常に強力かつ広範な機能となります。

なので本当はSetVarとSetVarBlockの理解が非常に
重要です。MT4を使い倒すには必須の知識なので、
自分もいずれはしっかりきっちりと説明したい、
とは思っています。今は時間がないのでまとまった
説明ができなくて申し訳ないですが、とりあえず
上記例を参考にいろいろと応用してみてください。

またご質問等ございましたらご遠慮なくどうぞ。

それでは。

コメントする


画像の中に見える文字を入力してください。

ブログSEO【風林火山】火の巻~初心者セミナー完全パック

キーワード選択、SEOの基礎、そしてSeesaaブログのカスタマイズ。
アフィリエイト初心者がまず知っておく必要最低限のノウハウ、知識、テクニックを、PDF、音声ファイル、動画ファイルで完全解説!
2,980円の「風林火山 火の巻」で、アフィリエイトを始めよう!

ブログSEO【風林火山】林の巻~MT日本語化プログラム-MTJP

MTの全フォルダ、ファイルを指定した日本語URLに一括で自動変換!
これでSEOのニュースタンダードをゲットしよう!

ブログ自動記事作成投稿ツール ~ ロボット君

MTはもちろん、他のブログサービスでもボタン一発で記事を自動作成、投稿してくれる、バックリンクサイト作成用の超便利ツール、ロボット君!

このブログ記事について

このページは、Kotaが2008年3月23日 02:46に書いたブログ記事です。

ひとつ前のブログ記事は「『SEO bookmark』でSMO(ソーシャル・メディア・オプティマイゼーション)のススメ」です。

次のブログ記事は「IP分散でSEOを意識した123サーバー」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1

メールマガジン