カテゴリ「テンプレート」のタイトル一覧を見るカテゴリ「テンプレート」のタイトル一覧を見る

カスタムフィールドに値が入っていたら実行したい

2008年11月 7日 01:21| コメント(0)| トラックバック(0)

カスタムフィールドに値が入っているときと、入っていないときで処理を分けたい。

カスタムフィールドに値が入っていたら実行

<MTIfNonEmpty tag="hoge">
 :
 :
</MTIfNonEmpty>

tag="hoge" の部分にカスタムフィールドで取得したテンプレートタグ名を入れる。


atom.xmlを書き換えて必要な情報だけ配信したい

2008年10月23日 17:09| コメント(0)| トラックバック(0)

atom.xml編集画面

前に書いた「画面に表示ぜずともRSSでは取得される」の続き。

対処法としては、atom.xmlを書き換えることで不要な記事まで最新記事として扱わないで済むようになる。

たとえばこのサイトなら、エントリの本文が存在せずタイトルのみの記事で構成されているカテゴリがある。

そのカテゴリの記事は、自分用であって、配信される必要はない。

<mt:Entries lastn="15" category="NOT(ひとりごと OR そろそろ OR やりたいこと OR やること OR やったこと)">

このように「最新情報に載せないでいい記事」を指定して除外した上で配信することができる(通常のMTタグと使い方は同じ)。

逆に「特定のカテゴリの記事だけ配信したい」ときは、category="" で指定する。


metaタグにキーワードと概要を入れたい

2008年10月17日 08:49| コメント(0)| トラックバック(0)

metaタグ

MovableTypeは記事を作成する画面(投稿画面)で「概要」「キーワード」を入力できるのに、デフォルトのテンプレートにmetaタグのdescriptionやkeywordの記述がない。

10年前には当たり前に記述していたものであり(私だけか?)、ひと昔前まではSEO対策にも効果があったと思うが現在は果たしてどうなのだろうか。

キーワードが今でも検索の助けになるなら、しっかり入れておきたい。
概要が記述されている場合には、そちらが優先されて検索結果にも表示される(ことが多い)。

ということで、可能な限りmetaタグにキーワードと概要を入れたい。

「キーワード」欄に記述があればそちらを優先し、なければ「タグ」欄の記述を「キーワード」としてmetaタグのname="keyword"に挿入する。

概要については「概要」に記述があればそちらを優先し、なければ記事の先頭から100文字をmetaタグのname="description"に挿入する。

上記を満たすソースの記述は、下記のようになる。

<MTIf name="entry_template">
<MTIfNonEmpty tag="MTEntryKeywords">
<meta name="keywords" content="<$MTEntryKeywords$>" />
<MTElse>
<MTIfNonEmpty tag="MTEntryTags">
<meta name="keywords" content="<MTEntryTags glue=","><$MTTagName$></MTEntryTags>" />
</MTIfNonEmpty>
</MTIfNonEmpty>
<MTIfNonEmpty tag="EntryExcerpt">
<meta name="description" content="<$MTEntryExcerpt$>" />
<MTElse>
<meta name="description" content="<$MTEntryBody words="100"$>" />
</MTIfNonEmpty>
</MTIf>

必要な要素だけを表示したい(メインページ)

2008年10月15日 14:55| コメント(0)| トラックバック(0)

デフォルトのメインインデックス
(レイアウトを一切指定していないスタイルシートを適用した状態。)

メインページのテンプレートから、不要な部分を削る。慣れないうちはひとつひとつ消しながら動作の確認をすると覚えやすい。

<div id=""></div>、<div class=""></div>、<span class=""></span>は動作に直接影響しないので、すべて取り去る(囲っているタグのみ捨てる。囲まれている中身は捨てないで残す)。

<mt:Ignore>はただの説明書きなので、これも取り去る。
この作業だけで、ソースは随分スッキリするはずである。
(ただし、レイアウトは瞬時に崩れる。)

MovableType4.2では、divタグで囲むべき部分がすでに部品化されている。
よって、いらないタグを取り除くと下記のようになる。

※idやclassは定義があって存在価値が生じるので、すべて除いた。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">

<head>
<$mt:Include module="HTMLヘッダー"$>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$mt:Link template="rsd"$>" />
<title><$mt:BlogName encode_html="1"$></title>
</head>

<body>
<$mt:Include module="バナーヘッダー"$>

<mt:Entries>
<$mt:Include module="ブログ記事の概要"$>
</mt:Entries>

<a href="<$mt:Link template="archive_index"$>">アーカイブ</a>

<$mt:Include module="サイドバー"$>

<$mt:Include module="バナーフッター"$>
</body>

</html>