Kamitani79-メロンとバナナとブログでタグ「カテゴリ」が付けられているもの

Movable Type(MT)にて現在のカテゴリ(フォルダ)から最上位のカテゴリ(フォルダ)まで繰り返し表示。


パンくずリストで利用する際など、最上位のカテゴリ(フォルダ)から現在のカテゴリ(フォルダ)を繰り返す場合は、以下のようにどちらかでできます。


カテゴリ:<mt:ParentCategories glue=">"><$mt:CategoryLabel$></mt:ParentCategories>


フォルダ:<mt:ParentFolders><$mt:FolderLabel$></mt:ParentFolders>


head内のtitleタグに利用するときは、現在のカテゴリ(フォルダ)から最上位のカテゴリ(フォルダ)まで繰り返し表示した方がサイトっぽくなります。


以下が流れになります。
・配列、カウンターを初期化
・最上位のカテゴリ(フォルダ)から現在のカテゴリ(フォルダ)を繰り返し
・カテゴリ名(フォルダ名)を配列にセット
・配列を逆順に表示


■カテゴリの場合
<mt:SetVar name="set_categorytitle" value="0">
<mt:SetVar name="counter" value="0">

<mt:ParentCategories>
<mt:SetVarBlock name="set_categorytitle[$counter]"><$mt:CategoryLabel$>|</mt:SetVarBlock>
<mt:SetVar name="counter" value="1"op="inc">
</mt:ParentCategories>

<mt:Loop name="set_categorytitle" sort_by="value numeric reverse"><mt:Var name="__value__"></mt:Loop>


実際の実行結果
※この記事の場合、最上位が「サイト制作」、現在が「Movable Type」なので逆順に表示されていればOK!


Movable Type|サイト制作|




■フォルダの場合
<mt:SetVar name="set_foldertitle" value="0">
<mt:SetVar name="counter" value="0">

<mt:ParentFolder>
<mt:SetVarBlock name="set_foldertitle[$counter]"><$mt:FolderLabel$>|</mt:SetVarBlock>
<mt:SetVar name="counter" value="1"op="inc">
</mt:ParentFolder>

<mt:Loop name="set_foldertitle" sort_by="value numeric reverse"><mt:Var name="__value__"></mt:Loop>

Movable Typeは、ブログソフトですから、カテゴリの一覧を表示することが出来る。

カテゴリの一覧を表示をする場合は、MTのタグを4つ使います。

1. カテゴリ一覧のタグ
<MTCategories>?</MTCategories>

2. 最上位のカテゴリから現在のカテゴリまでを繰り返して表示するタグ
<MTParentCategories>?</MTParentCategories>
(glue="/"でリストを繋ぎます)

3. カテゴリのファイル名を表示するタグ
<$MTCategoryBasename$>

4. カテゴリ名を表示するタグ
<$MTCategoryLabel$>

<ul>
<MTCategories>
<li><a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a></li> </MTCategories>
</ul>


実際の処理の結果




さらにカテゴリの所属しているこの記事とカテゴリ一覧のカテゴリが一致した場合の処理をやってみます。これは、ユーザビリティを意識したサイト作りをする時にナビゲーションとして使う場面が多くそれを考慮したものです。

一致したカテゴリのみ、カテゴリ名の左右に★★を入れます。

Movable Typeの条件文(if)の記事で書いたときと同じように変数を格納するために、 <MTSetVarBlock name="変数名">値</MTSetVarBlock>を使用します。

現在の記事のカテゴリを値にセットし、変数「category_label」に代入します。
次にカテゴリ一覧を行い、一覧を行っている中で、比較をするための変数「category_label2」にカテゴリを代入します。

最後に、変数「category_label」と変数「category_label2」を比較し、一致した場合の処理と一致しなかった場合の処理を行います。

コードは、以下になります。
<MTSetVarBlock name="category_label"><$MTCategoryLabel$></MTSetVarBlock>
<ul>
<MTCategories>
<MTSetVarBlock name="category_label2"><$MTCategoryLabel$></MTSetVarBlock> <MTIf name="category_label2" eq="$category_label">
<li>★★<a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a>★★</li>
<MTElse>
<li><a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a></li>
</MTElse>
</MTIf>
</MTCategories>
</ul>


実際の処理の結果



サブフォルダを入れて行うこともで出来ますし、一致したときの処理に背景の色やテキスト、リンクの色を変更することも出来ます。
Movable Typeは、ブログソフトですから、カテゴリの一覧を表示することが出来る。

カテゴリの一覧を表示をする場合は、MTのタグを4つ使います。

1. カテゴリ一覧のタグ
<MTCategories>?</MTCategories>

2. 最上位のカテゴリから現在のカテゴリまでを繰り返して表示するタグ
<MTParentCategories>?</MTParentCategories>
(glue="/"でリストを繋ぎます)

3. カテゴリのファイル名を表示するタグ
<$MTCategoryBasename$>

4. カテゴリ名を表示するタグ
<$MTCategoryLabel$>

<ul>
<MTCategories>
<li><a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a></li> </MTCategories>
</ul>


実際の処理の結果




さらにカテゴリの所属しているこの記事とカテゴリ一覧のカテゴリが一致した場合の処理をやってみます。これは、ユーザビリティを意識したサイト作りをする時にナビゲーションとして使う場面が多くそれを考慮したものです。

一致したカテゴリのみ、カテゴリ名の左右に★★を入れます。

Movable Typeの条件文(if)の記事で書いたときと同じように変数を格納するために、 <MTSetVarBlock name="変数名">値</MTSetVarBlock>を使用します。

現在の記事のカテゴリを値にセットし、変数「category_label」に代入します。
次にカテゴリ一覧を行い、一覧を行っている中で、比較をするための変数「category_label2」にカテゴリを代入します。

最後に、変数「category_label」と変数「category_label2」を比較し、一致した場合の処理と一致しなかった場合の処理を行います。

コードは、以下になります。
<MTSetVarBlock name="category_label"><$MTCategoryLabel$></MTSetVarBlock>
<ul>
<MTCategories>
<MTSetVarBlock name="category_label2"><$MTCategoryLabel$></MTSetVarBlock> <MTIf name="category_label2" eq="$category_label">
<li>★★<a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a>★★</li>
<MTElse>
<li><a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a></li>
</MTElse>
</MTIf>
</MTCategories>
</ul>


実際の処理の結果



サブフォルダを入れて行うこともで出来ますし、一致したときの処理に背景の色やテキスト、リンクの色を変更することも出来ます。
Movable Typeは、ブログソフトですから、カテゴリの一覧を表示することが出来る。

カテゴリの一覧を表示をする場合は、MTのタグを4つ使います。

1. カテゴリ一覧のタグ
<MTCategories>?</MTCategories>

2. 最上位のカテゴリから現在のカテゴリまでを繰り返して表示するタグ
<MTParentCategories>?</MTParentCategories>
(glue="/"でリストを繋ぎます)

3. カテゴリのファイル名を表示するタグ
<$MTCategoryBasename$>

4. カテゴリ名を表示するタグ
<$MTCategoryLabel$>

<ul>
<MTCategories>
<li><a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a></li> </MTCategories>
</ul>


実際の処理の結果




さらにカテゴリの所属しているこの記事とカテゴリ一覧のカテゴリが一致した場合の処理をやってみます。これは、ユーザビリティを意識したサイト作りをする時にナビゲーションとして使う場面が多くそれを考慮したものです。

一致したカテゴリのみ、カテゴリ名の左右に★★を入れます。

Movable Typeの条件文(if)の記事で書いたときと同じように変数を格納するために、 <MTSetVarBlock name="変数名">値</MTSetVarBlock>を使用します。

現在の記事のカテゴリを値にセットし、変数「category_label」に代入します。
次にカテゴリ一覧を行い、一覧を行っている中で、比較をするための変数「category_label2」にカテゴリを代入します。

最後に、変数「category_label」と変数「category_label2」を比較し、一致した場合の処理と一致しなかった場合の処理を行います。

コードは、以下になります。
<MTSetVarBlock name="category_label"><$MTCategoryLabel$></MTSetVarBlock>
<ul>
<MTCategories>
<MTSetVarBlock name="category_label2"><$MTCategoryLabel$></MTSetVarBlock> <MTIf name="category_label2" eq="$category_label">
<li>★★<a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a>★★</li>
<MTElse>
<li><a href="<$MTBlogURL$><MTParentCategories glue="/"><$MTCategoryBasename$></MTParentCategories>/"><$MTCategoryLabel$></a></li>
</MTElse>
</MTIf>
</MTCategories>
</ul>


実際の処理の結果



サブフォルダを入れて行うこともで出来ますし、一致したときの処理に背景の色やテキスト、リンクの色を変更することも出来ます。

プロフィール

Kamitani79
ニックネーム : Kamitani79
映画鑑賞、音楽、写真、ゲーム。地元・横浜をこよなく愛する( `・∀・´)ノヨロシク
自己紹介 :
このエントリーをはてなブックマークに追加

携帯サイト

つながり

  • ブロガー(ブログ)交流空間 エディタコミュニティ
  • あわせて読みたいブログパーツ
  • フィードメーター - Kamitani79-メロンとバナナとブログ
  • SEO
    loading
Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type 6.2.4

タグ

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