超ダイエットブログシーソラス単語♪

身体に優しいダイエットの選び方や、理想のボディーを手に入れる方法まで、幅広く情報を公開していますよ♪




このページは 04月のキャッシュ情報です。

検索キーワード= レーザー 脱毛
優先キーワード=

カテゴリーとは?

[ 98] 小粋空間: カテゴリー アーカイブ
[引用サイト]
http://www.koikikukan.com/archives/cat_41.php

当サイトでこれまで紹介してきた「サブカテゴリーリストの折りたたみ」カスタマイズは、「折りたたみマーク(+ツリー化)」という形式が主体でしたが、新たに Windows のエクスプローラのツリー表示と同じように、タイトルの左側に折りたたみ画像を表示し、折りたたみ状態によって画像を切り替えられるカスタマイズを紹介致します。ここでは、Movable Type のデフォルトテンプレート(スクリーンショット)および公開テンプレートでのカスタマイズ方法について説明します。
下記のリンクをクリックし、リンク先のページにある menufolder.js のリンクをクリックしてダウンロードしてください。
ダウンロードした menufolder.js を任意のエディタで開き、下記のように該当部分を青色の内容に変更してください。
menufolder.js の修正が終わったら保存し、メインページと同じディレクトリにアップロードしてください。
サブカテゴリーリストの折りたたみを利用する各テンプレートの </head> の直前に下記のタグを追加してください。charset 属性は menufolder.js の文字コードを指定してください(分からなければとりあえずサンプルのまま貼り付けてください)。
デフォルトテンプレートの場合は5.1項、公開テンプレートの場合は5.2項のサブカテゴリーリスト表示用タグを、表示したいテンプレートの任意の位置に追加します。
デフォルトテンプレートの場合は6.1項、公開テンプレートの場合は6.2項の CSS をスタイルシートに追加してください。
下記の折りたたみマーク画像をダウンロード(Windows であれば右クリックして「名前を付けて画像を保存」を選択)し、メインページと同じディレクトリにアップロードしてください。
先日エントリーした「CSS 変更(2007.02.11)」でお知らせした通り、サブカテゴリーリストの親カテゴリーだけ異なる画像を表示させるカスタマイズをご紹介致します。
この変更を行なえば、ツリー画像が各親カテゴリー内に閉じた形で表示されるようになります。またカテゴリー表示が長大になる場合、従来の表示では親カテゴリーのツリー画像が途切れる可能性が高かったのですが、この方法であればある程度問題なく表示されると思います。
元のサンプルは「サブカテゴリーリストの折りたたみ+ツリー化 for Movable Type」を利用していますが、CSS についてはブログツール・ブログサービスに依存しませんので、変更箇所を確認しながら修正してください。
下記にスクリーンショットと同じ変更をした CSS を示します。変更箇所は赤、追加は青で示していますが、お好みに応じて適宜修正してください。
ご覧の通り、親カテゴリー用の li 要素セレクタと、子カテゴリー用の li 要素セレクタを分割しています。子カテゴリーは、li 要素セレクタを重ねて指定し、li 要素が再帰的に出現する場合のみ、ツリー画像を表示するようにしています。
参考までにサンプルのHTMLマークアップも掲載しておきます。折りたたみ用の div 要素が含まれてやや複雑になってますが予めご了承ください。
Movable Type デフォルトテンプレートにサブカテゴリーリストの折りたたみを適用する場合のカスタマイズを紹介します。
このエントリーではツリー化する場合としない場合の2通りを説明します。スクリーンショットはツリー化した場合の完成例です。
下記のリンクをクリックし、リンク先のページにある menufolder.js のリンクをクリックしてダウンロードしてください。
ダウンロードした menufolder.js を任意のエディタで開き、下記の該当部分を青色の内容であることを確認(または修正)してください。
用途:カテゴリーリスト数計算方法を li タグ(サブカテゴリー表示)で計数するか、a タグ(従来の一括表示)で計数するかを指定します。
menufolder.js の修正が終わったら保存し、メインページと同じディレクトリにアップロードしてください。
サブカテゴリーリストの折りたたみを利用する各テンプレートの </head> の直前に下記のタグを追加してください。charset 属性は menufolder.js の文字コードを指定してください(分からなければとりあえずサンプルのまま貼り付けてください)。
ツリー化しない場合は1.1項、ツリー化する場合は1.2項のサブカテゴリーリスト表示用タグを、表示したいテンプレートの任意の位置に追加します。
またカテゴリーアーカイブページで、どのページでも同じカテゴリーリストを表示したい場合は、上記サブカテゴリーリストの先頭および末尾にある MTSubCategories タグを MTTopLevelCategories タグに変更してください。
ツリー化しない場合は2.1項、ツリー化する場合は2.2項の CSS をスタイルシートに追加してください。
下記のファイルをダウンロードしてください。これはツリーを表示するための画像で、実線・点線の2種類を用意しています。それぞれ2つの画像がありますのでご注意ください。
保存方法は、(IEの場合)リンクをクリックして一旦画像を表示し、その後に「ファイル」→「名前をつけて保存」で保存するか、リンクを右クリックして「対象をファイルに保存」を選択します。
ツリー画像のファイルは6項の CSS(青色部分)で読み込まれますので、ファイル名は一致させてください。つまり、tree_lst_solid.gifをダウンロードする時(またはダウンロード後)、ファイル名は tree_lst.gif に変更してください。
以前、Movable Type のツリー化記事で「JavaScript 不要なサイドメニューのツリー化 for Movable Type」を紹介しましたが、当サイトで定番カスタマイズとなっている「サブカテゴリーリストの折りたたみ」と併用する場合の設定方法についてご質問を頂きましたので、本エントリーにて改めてご紹介致します。
このエントリーのカスタマイズを行うことで、スクリーンショットのようにサブカテゴリーリストを折りたたみ+ツリー化することができます。
下記のリンクをクリックし、リンク先のページにある menufolder.js のリンクをクリックしてダウンロードしてください。
ダウンロードした menufolder.js を任意のエディタで開き、下記の該当部分を青色の内容であることを確認(または修正)してください。
用途:カテゴリーリスト数計算方法を li タグ(サブカテゴリー表示)で計数するか、a タグ(従来の一括表示)で計数するかを指定します。
menufolder.js の修正が終わったら保存し、メインページと同じディレクトリにアップロードしてください。
サブカテゴリーリストの折りたたみを利用する各テンプレートの </head> の直前に下記のタグを追加してください。charset 属性は menufolder.js の文字コードを指定してください(分からなければとりあえずサンプルのまま貼り付けてください)。
折りたたみ+ツリー化用のサブカテゴリーリスト表示用タグ(下記)をテンプレートの任意の位置に設定します。
青色は「JavaScript 不要なサイドメニューのツリー化 for Movable Type」のサブカテゴリーリストとの差分を参考までに示しています。
またカテゴリーアーカイブページで、どのページでも同じカテゴリーリストを表示したい場合は、上記サブカテゴリーリストの先頭および末尾にある MTSubCategories タグを MTTopLevelCategories タグに変更してください。
下記のファイルをダウンロードしてください。これはツリーを表示するための画像で、実線・点線の2種類を用意しています。それぞれ2つの画像がありますのでご注意ください。
保存方法は、(IEの場合)リンクをクリックして一旦画像を表示し、その後に「ファイル」→「名前をつけて保存」で保存するか、リンクを右クリックして「対象をファイルに保存」を選択します。
ツリー画像のファイルは6項の CSS(青色部分)で読み込まれますので、ファイル名は一致させてください。つまり、tree_lst_solid.gifをダウンロードする時(またはダウンロード後)、ファイル名は tree_lst.gif に変更してください。
Movable Type 3.3 でエントリーのない親カテゴリーをアーカイブとして生成し、そこに子カテゴリーを表示するためのカスタマイズです。
Movable Type のカテゴリーアーカイブでは、自カテゴリーでエントリーがひとつも公開されていない場合、そのカテゴリーに子カテゴリーがある場合でも、自カテゴリーのアーカイブを生成することができません。言い換えると、エントリーのない親カテゴリーでの MTEntriesWithSubCategories タグは有効にならない、ということです。
ただし、エントリーアーカイブの前後のエントリーへのリンクについては親カテゴリーが表示されてしまいますので、ここではそのリンクがないページ構造であることを前提にします。
また実験では親-子カテゴリーまでの動作しか確認しておりません(子カテゴリーに対しさらに子カテゴリーがある場合の動作は未確認です)ので、予めご了承ください。
カテゴリーアーカイブの MTEntries タグ(リスト1.1)をリスト1.2 のタグに変更します。
変更後の設定は、MTEntriesWithSubCategories タグでサブカテゴリーのエントリーも表示し、MTIfCategory タグで name 属性に記述されたカテゴリー、つまり親カテゴリーであれば何もしない(その他のカテゴリーであれば通常通り表示)という意味です。
たとえば、foo という親カテゴリーを除外したい場合は MTIfCategory タグの name 属性を
除外したいカテゴリーが複数存在する場合、たとえば "foo" と "bar" という二つのカテゴリーを除外したい場合は、MTIfCategory タグを追加(リスト1.4の青色部分)して、
2.MTEntries タグの変更(メインページ・日付アーカイブ・サイドバーの「最近のエントリー」等)
メインページ(アーカイブページも利用していれば含む)・日付アーカイブ・サイドバー等の MTEntries タグをリスト3.1 からリスト3.2 の内容に変更します。
</MTEntries>リスト3.1 メインページ・日付アーカイブ・サイドバー(変更前)
</MTEntries>リスト3.2 メインページ・日付アーカイブ・サイドバー(変更後)
除外したいカテゴリーが複数存在する場合、たとえば "foo" と "bar" という二つのカテゴリーを除外したい場合は OR で区切り、さらにカッコで括って、
カスタマイズは3項までで完了です。あとは子カテゴリーを表示したい親カテゴリーにエントリーをひとつ作成して「公開」で保存してください。
Ogawa::memoranda さんのアドバイスを受けて、カスタマイズ内容を修正しました(パッチの削除&MTIfCategory タグの記述変更)。
カテゴリー・アーカイブに当該カテゴリーのエントリーを月別に表示するカスタマイズを紹介します。スクリーンショットは当サイトの「Movable Type テンプレート」のカテゴリーの最近3ヶ月分を抜粋して表示したものです。
ということで、詳細につきましては上記サイトの「カテゴリーアーカイブで<MTMonthHeader>」下に表示されているリストをご利用ください。
また説明にある通り、MTTagInvoke と Compare プラグインが事前に設定されていることが必要です。3.31-ja で利用する場合は MTTagInvoke のコードを修正する必要があります(下記参照)。
カテゴリー内で(そのカテゴリーの)エントリーを月別表示をするというテクニックはこれまでなかったと思われます。個人ブログ・ビジネスブログに関わらず色々活用できるのではないでしょうか。
エントリー・アーカイブで、親カテゴリーに含まれる全エントリーをサブカテゴリー別に表示するカスタマイズです。
この前提で、ブラウザに表示するエントリー・アーカイブが「チューリップ」である場合、エントリー・アーカイブには親カテゴリー(植物)が属するすべてのエントリーをサブカテゴリー別に表示、つまり、
エントリー・アーカイブの左上に表示されている「親カテゴリーに属する全カテゴリー」が今回紹介するリストです。
エントリー・アーカイブに同一カテゴリーのエントリーを表示する方法は「個別エントリーアーカイブに同一カテゴリーのエントリーを表示」で紹介している通り、よく知られているテクニックですが、エントリーをカテゴリー別に表示したり、同じ親カテゴリーのエントリーを表示する方法は知られていません。
サブカテゴリーの下にサブカテゴリーが存在しない(「バラ科」の下に「サクラ属」というサブカテゴリーが存在しない)こと。
エントリー・アーカイブで前後のエントリーのリンク、月別アーカイブで前後月のアーカイブリンクを表示するのと同じように、カテゴリー・アーカイブで前後のカテゴリーリンクを表示する(スクリーンショット)というオーソドックスなカスタマイズです。
アーカイブを解凍した中にある、catx.pl および catx.pm を、下記の配置になるようにアップロードします。
カテゴリー・アーカイブテンプレートに下記のリストを追加します。挿入箇所は <MTEntries> というタグより上の辺り(あるいは </MTEntries> より下)になります。エントリー・アーカイブの前後リンクを参考にされると良いでしょう。
リストは配布元で公開されているものですので、赤色で示した div 要素 や id 属性はご自身のサイトに合わせ、リンクマーク(&laquo; または &raquo;)はお好きなものに適宜変更してください。
表題の通り、親カテゴリーのアーカイブページでサブカテゴリーのエントリーを表示する方法です。このサイトを例に挙げると、「カスタマイズ」というカテゴリーのサブカテゴリーには色々なサブカテゴリーがぶら下がってますが、「カスタマイズ」カテゴリーのページを開くとサブカテゴリーのエントリーも全て表示するようになっています。なんだかよく分からないけれどとりあえずカスタマイズ記事を色々眺めてみたい、という場合に便利です。
に変更して、保存・再構築します。これで親カテゴリーにサブカテゴリーのエントリーが反映されるようになります。
Movable Type では「エントリの存在するカテゴリーしか再構築しません」という仕様になっています。つまり、あるカテゴリーAのサブカテゴリーであるカテゴリーBにエントリーを投稿した時、親カテゴリーAのアーカイブページは再構築されません(3.2でもこの仕様は変わっていないようです)。
Movable Type のサブカテゴリーリストで、親カテゴリーのエントリー数に、サブカテゴリーのエントリー数を合計して表示するカスタマイズです。SubCatCount プラグインを利用します。当サイトでは右側にあるカテゴリーリストの ( ) 部分に、サブカテゴリーとのエントリー数の合計を表示しています。
ダウンロードしたアーカイブを解凍して、その中にある SubCatCount.pl を plugins ディレクトリにアップロードします。
デフォルトテンプレートではカテゴリー数を表示する状態になっていませんので、単純に MTSubCatCount タグを追加します(青色部分)。この場合、サブカテゴリーをもつ親カテゴリーは常にサブカテゴリーのエントリー数の合計を表示します。
こちらはサブカテゴリーをもつ親カテゴリーに対して、自カテゴリーのエントリー数とサブカテゴリーのエントリー数の合計を両方表示する場合です。青色部分を追加します。
公開テンプレートではカテゴリー数を表示する状態になっているので、MTCategoryCount を MTSubCatCount タグに置き換え(赤色部分を削除し、青色部分を追加)、カテゴリーのエントリーがない条件タグには新たに追加します(青色部分)。表示内容は3.1と同様です。
サブカテゴリーをもつ親カテゴリーに対して、自カテゴリーのエントリー数とサブカテゴリーのエントリー数の合計を両方表示する場合です。青色部分を追加します。
サブカテゴリーリストの折りたたみを利用している場合の修正方法です。赤色部分を削除し、青色部分を追加します。内容は3.1と同様です。
サブカテゴリーリストの折りたたみを利用している場合で、サブカテゴリーをもつ親カテゴリーに対して、自カテゴリーのエントリー数とサブカテゴリーのエントリー数の合計を両方表示する場合です。青色部分を追加します。
タイトルの通り、個別エントリーアーカイブで同一カテゴリーに属するエントリーの一覧を表示するカスタマイズです。公開テンプレートのカテゴリーアーカイブで同一カテゴリーのエントリー一覧を表示していますが、本カスタマイズを行うことで同じものを個別エントリーアーカイブに表示することができます。
今日まで、そして明日から。-3rd spiral-:個別記事のページにカテゴリのエントリ一覧を表示する
下記のサイトよりプラグインをダウンロード・解凍して、0.9 の場合は MTTagInvoke.pl を plugins フォルダに配置(またはアップロード)、1.0の場合は MTTagInvoke フォルダごと plugins フォルダに配置(またはアップロード) します。
でプラグインの一覧が表示されますので、その中に「MTTagInvoke」が表示されていればOKです。
個別エントリーアーカイブテンプレートのサイドバーに下記のタグを設定します。上記のサイトからの情報をまとめて3パターン用意してみました。緑色は公開テンプレート用の設定を示しています。
注:MTTagInvoke プラグインは2006年9月7日、Movable Type 3.3 対応のため、1.0 にバージョンアップされました。これによりプラグインで使用されているMTタグの名称が下記のように変更されています。サンプルリストは 1.0 に合わせた内容に変更しましたので、もし 0.9 を使っている場合は、記事のサンプルリストをご利用になる際、適宜読み替えてください。
「最近のエントリー」の日別表示を適用させてみました。サンプルは最近の10件を表示する設定になっています。lastn 指定の行を外せば全エントリーが表示されます。タグは ul -li のリスト形式になっていますのでご注意ください。
MTTagInvoke プラグインはMTタグのタグアトリビュート(属性)に対してさらにMTタグを利用できるというものです。一番目のサンプルを例にすると、本来書きたいMTタグは
となります。これは「最近のエントリー」表示用タグで、これに赤色部分で「表示されているエントリーのカテゴリーと同じエントリーを表示」を指定しているのですが、タグアトリビュート category の指定にMT変数タグ <$MTEntryCategory$> は指定できません(再構築でエラーとなります)。そこで MTTagInvoke プラグインを用いて、MTEntries の代わりに MTタグ名の指定
と同じ効果を得ることができる訳です。ここではタグアトリビュートをひとつだけ指定していますが、複数指定することも可能です。
公開テンプレートのサイドメニューのカテゴリーリストですが、デフォルト状態では一括表示するように設定しています。これをサブカテゴリー表示に変更する方法を本エントリーにて記します。
サブカテゴリー表示に変更する場合、サブカテゴリー表示にしたいテンプレートのカテゴリーリスト用MTタグを下記のいずれかの方法で変更します。
なんとなくお分かりかと思いますが一番上がメニューリストのタイトルです。その下がメニューリスト表示用MTタグで、一括表示用の部分とサブカテゴリー表示用の部分に分かれています。デフォルトではサブカテゴリー表示部分を無効にしておりますので、これを有効にすればOKです。
一括表示のMTタグを残しておきたい場合は下記の通り赤色部分を削除し、青色部分を追加します。これはHTMLの「コメントアウト」という機能を利用してMTタグの有効・無効を制御しています。
なおリストをサブカテゴリー表示に変更した場合、上記のMTタグをデフォルト状態で使用するとカテゴリーアーカイブページにジャンプした時、カテゴリーリストには表示されているカテゴリー配下のカテゴリーしか表示されません。この問題を解消するためには下記のエントリーを参照ください。
またインポート(管理メニューの「読み込み/書き出し」)を利用してエントリーを読み込んだ場合は以前のサブカテゴリー構成が解除されておりますので、管理メニューの「カテゴリー」をクリックした次のページで再度サブカテゴリーの設定が必要になります。
設定方法は、まず別のカテゴリーのサブカテゴリーとして移動したいカテゴリーの右側にある「移動」をクリックします。クリックするとページが切り替わりますので、親カテゴリーにしたいカテゴリーの左側にあるラジオボタンをクリックすればOKです。
なおV3.0にサブカテゴリー折りたたみ機能を盛り込み済ですので、サイドメニューの折りたたみを既にご利用くださっている方につきましては下記の1項および6項をスキップしてください。
下記のリンクをクリックするとスクリプトのページへジャンプします。そこで menufolder.js をクリックし、同じファイル名でご自身のPCに保存してください。
ファイルは UTF-8 で作成していますのでブログと同じ文字コードに合わせてください(よく分からない方はそのままで結構です)。
menufolder.js をテキストエディタ等を用いて、下記の青色行の赤色部分を本リストの通り(折りたたみマークは任意)に変更してください。
用途:カテゴリーリスト数計算方法を li タグ(サブカテゴリー表示)で計数するか、a タグ(従来の一括表示)で計数するかを指定します。
menufolder.js の修正が終わったら保存し、ローカル・サイト・パスに配置してください。「配置」とはレンタルサーバの場合はFTPツール等によるアップロード、自宅サーバの場合は単なるコピーを示します。
折りたたみを利用する各テンプレートの、カテゴリーリストを表示するタグを変更します。上は3.1x用の公開テンプレートからの抜粋ですので、この赤色部分を下のリストの青色部分と入れ替えてください。
折りたたみを利用する各テンプレートに、menufoleder.js の FoldNavigation を起動するスクリプトを設定します。この設定方法には 起動スクリプトの自動生成と手動設定の2通りがあります。
menufolder.js を起動する単位は親カテゴリーです。つまり、折りたたむ親カテゴリーの増減が発生するとこの起動部分も増減、つまり変更の必要が生じます。自動生成ではMTタグを用いており、折りたたみが必要な親カテゴリーの id 属性を取得し、起動スクリプトを再構築時に自動生成ます。手動設定の場合は親カテゴリー分の起動スクリプトを文字通り手動で挿入します。
普通に考えれば前者しかありえませんが、自動生成では折りたたみの初期状態を「全て開く」または「全て閉じる」のいずれかのみしか選択できない、また子カテゴリーを持つ全ての親カテゴリーに折りたたみマークが付与されるのがデメリットです。手動設定は面倒な反面、初期状態を親カテゴリー別にきめ細かく設定できます。また折りたたむ親カテゴリーを任意に選択することができます。
まず折りたたみマークが付与される各親カテゴリーのMTCategoryIDを取得(単なるメモ)します。繰り返しになりますが5.2項を選択された場合は、サブカテゴリーをもつ親カテゴリーが増減する度に修正が必要になります。
管理メニューの「カテゴリー」をクリックしてカテゴリー名をマウスオン(またはクリック)するとステータスバー(あるいはアドレス)に
が表示されます。このURLの最後の n がMTCategoryIDですので、カテゴリー名とMTCategoryIDの対応を(メモする等で)記録してください。
とりあえず5.1(1)をテンプレートに設定・再構築して、そのソースを取得して5.2(2)に反映させるという手もあります。
折りたたみを利用する各テンプレートで、menufolder.js を起動するためのスクリプトを4項で設定したタグの直下に挿入します。まずはサンプルをご覧ください。
この例ではMTCategoryIDが18、22、24、31を折りたたむ親カテゴリーとして4行記述しています。18、22、24の3つは開いた状態、31は閉じた状態で表示されます。
折りたたむカテゴリー数は各サイトで異なりますので折りたたみが必要なカテゴリー数分を上記の例にならって記述し、5.2(1)で記録したMTCategoryIDは赤色部分に
という文字列で設定してください(「複数形になっている」とかいうツッコミはなし)。スクリプトはこの文字列「subcategories」を判別してサブカテゴリーの折りたたみ処理を実行していますのでお間違えのないように気をつけてください。
・本カスタマイズを行う場合、他の折りたたみメニューで "subcategories" という id 属性は使用しないで下さい。
・カテゴリーリスト自体を折りたたむ場合、リスト数の計数を適正に行うためにカテゴリーリストの id 属性名を「category」にしてください。id 属性名を変更したい場合は、menufolder.js の下記の赤色部分を使用する id 属性名に修正してください。
A:menufolder.js 起動スクリプトの設定(5.2(2)項)が誤っている、6項が設定されていない、6項で設定したパスに menufolder.js がない、2項のサブカテゴリーフラグが true になっていない、ブログと menufolder.js の文字コードが一致していない等が考えられます。
A:テンプレート内のどこかで不要な menufolder.js をインクルードしています。私はこれで2日ほど悩みました(バカ)
A:ジャンプしたアーカイブのテンプレートで誤った menufolder.js をインクルードしている可能性があります(これも私)。
カテゴリーリスト数表示の注意事項がもれてましたので、記事引用くださっている方は8項の記述も追加してやってください。また5.2(2)のリストに冗長な部分がありましたので削除致しました。
リストから language 属性を削除しました(HTML4.01/XHTMLで非推奨あるいは廃止されているため)。
従来の折りたたみはタイトル部分の id 属性(〜name)を検索して、同名の id 属性(〜list)のリスト部分の表示・非表示を切り替えています。このサブカテゴリー折りたたみでは、親カテゴリーの li タグの後ろにタイトル部分にあたる div 要素 および id 属性(〜name)、子カテゴリーを括る ul タグの前後にリスト部分にあたる div 要素および id 属性(〜list)を指定しています。
それだけでは適正に id 属性が割り振られないため、サブカテゴリー関連のコンテナタグをデフォルトのリストに追加し、子カテゴリーが存在する親カテゴリー、または親カテゴリーの存在する子カテゴリーのみ id 属性を付与するようにしています。前者は MTHasSubCategories、後者は MTHasParentCategory および MTParentCategory の組み合わせで取得を実現しています。また MTCategoryID を id 属性値に用いる+MTタグの組み合わせで、カテゴリーの増減が発生しても menufolder.js の起動にダイナミック性をもたせています。
当初、サイドメニュー折りたたみの適用は難しいと考えてましたが、よく考えたらできました(笑)。提案くださった Magic White さんにこの場をお借りしてお礼申し上げます。
サブカテゴリー機能を用いて、手始めに Movable Type 関連のエントリーをカテゴライズしました。
これまで Movable Type に関するエントリーについては使用中のバージョンに属する形で書いていたのですが、これを大幅に見直しました。文章で書くより左の新旧画像を見て頂ければお分かりになると思います。
例えばカテゴリーリストを用いて検索を行う場合、バージョンよりも機能や操作・概念等で分類した方が明らかに都合がいいです。テンプレートを公開している割に「テンプレート」というカテゴリーがないのも何なので独立したカテゴリーにしました。まだ全部ではありませんがカスタマイズについてはカテゴリーリストから視覚的に検索できるように分類してみました。時間をかけて他のエントリーについても適正なカテゴリーに配したいと考えてます。
訪問される方にとってはテンプレート等の一部のカテゴリーを除いて、バージョンがいくつであるかはたいした問題ではないのですが、個人的には日付アーカイブとは別にどのバージョンでどのような作業を行っていたかを記録したいと考えました。
この両者の要求を実現するにはエントリータイトルにバージョンを付与する等といった力任せの作戦もありますが、今回は「副カテゴリー」を用いることにしました。[新カテゴリー]
Movable Type ユーザー・マニュアル:カテゴリーに書かれている通り、各エントリーは、1つの主カテゴリーと1つ以上の副カテゴリーに割り当てることができます。主カテゴリーと副カテゴリーの間に優劣はなく、アーカイブリンクに主カテゴリーが便宜上用いられます。この機能を用いることで異なるカテゴリーに同一エントリーを配することができます。
というリンクをクリックします。クリックすると副カテゴリー設定画面がポップアップします。左の「ウェブログのカテゴリー」から新たに加えたいカテゴリーを選択し、>> ボタンで右の「副カテゴリー」に移動させ「保存」をクリックします。保存後、さらにエントリー編集画面の「保存」をクリックすれば作業完了です。
ということで、これまでのバージョン別のカテゴリーもそのまま残すことにしました。このカテゴリーには今までと同じエントリーが含まれています。が作業をやっている途中で気がついたので、一部該当カテゴリーから削除されているものもあります(バカ)。予めご了承ください。
Movable Type 3.11-ja ではサブカテゴリー機能が追加されました。それに伴いサイドバーメニューのカテゴリーリストにはこれまで通りの表示に加え、サブカテゴリー表示もできるタグ
ところが、例えばメインページからカテゴリーアーカイブページにジャンプすると、サイドバーのカテゴリーリストにはそのカテゴリー配下のカテゴリーしか表示されなくなります。配下のカテゴリーが存在しない場合は何も表示されません。
・メインページで表示されているカテゴリーリスト。ここでは全カテゴリーが表示されています。視覚的にお分かりになると思いますが、トップカテゴリーに「ウェブログ」「趣味」、「ウェブログ」カテゴリーのサブカテゴリーに「こうさぎ」「カスタマイズ」、「カスタマイズ」カテゴリーのサブカテゴリーに「テンプレート」「折りたたみ」、「趣味」カテゴリーのサブカテゴリーに「映画」「読書」があります。・上のカテゴリーリストより「ウェブログ」をクリックしてジャンプしたページで表示されるカテゴリーリストです。「ウェブログ」カテゴリーに関係するサブカテゴリーだけが表示されます。・上のカテゴリーリストより「カスタマイズ」をクリックしてジャンプしたページで表示されるカテゴリーリストです。「カスタマイズ」カテゴリーに関係するサブカテゴリーだけが表示されます。・上のカテゴリーリストより「折りたたみ」をクリックしてジャンプしたページで表示されるカテゴリーリストです。下位のカテゴリーが存在しないため何も表示されません。
上記の振る舞いは場合によっては使い道がありますが、サイドメニューとして相応しいかどうかは個人的に疑問があり、当サイトで公開中のテンプレートは以前のMTCategoriesを使ったメニュー表示にしています。
このエントリーではどのカテゴリーアーカイブページにジャンプしても、サンプルの一番上の画像のようなメニューが表示される方法を紹介します。なお日付アーカイブや個別アーカイブではページ自体に「カテゴリー」という概念がない(つまり先のタグがカテゴリーアーカイブ内のような振る舞いをしない)ので全カテゴリーが表示されます。
全カテゴリーを表示するには MTTopLevelCategories を用いることで実現できます。テンプレートの下記の赤色部分を青色に変更してください。
上記で全カテゴリーが表示されるようになりますが、カテゴリーリストを独立したインデックステンプレートとして割り充てる方法を併せてご紹介しておきます。これは巷で流行っている(?)「モジュール(部品)化」というものです。
インデックステンプレートはいわゆるメインページや他のアーカイブテンプレートと同じ位置付けで、保存・再構築することで独立したファイルを出力します。モジュール化のメリットはエントリーの再構築時間を短縮と、適用したアーカイブページで常に同じ内容が反映されることです。
管理メニューの「テンプレート」をクリックし、次ページの「インデックス・テンプレート」の右端にある「新しいインデックス・テンプレートを作る」をクリック。次ページの各項目に以下の内容を設定してください。
ペーストする内容は公開テンプレート(スタイルシート)を前提にしたものです。異なるテンプレートを使用されている場合は div タグのクラス属性等を適宜修正してください。
修正が終わったら、保存・再構築してください。管理メニューの「ウェブログの設定」→「基本設定」で指定したローカル・サイト・パスに categorylist.html が配置されます。
先の categorylist.html をインクルードするためにカテゴリー・アーカイブテンプレートの下記の赤色部分を青色部分に修正します(リストは公開テンプレートを例にしています)。
categorylist.html が正常に読み込めない場合は上記のfile属性指定の部分をルートディレクトリからのフルパス指定に変更してください。
修正が終わったら保存・再構築してください。ここまでの作業が済めばカテゴリーアーカイブページのカテゴリーリストは全カテゴリーが表示されるようになっています。
カテゴリー・アーカイブテンプレートを除いた各テンプレートのカテゴリーリストを、MTCategories から MTSubCategories を用いたものに置き換えます。各テンプレートのカテゴリーリストを前記と同様の作業(MTIncludeタグへの変更)を行ってください。公開テンプレートをご利用の方は、下記のようにカテゴリーリストをコメントアウト(赤色部分を削除)し、コメントアウトされたサブカテゴリー部分を有効(青色部分を追加)にされてもOKです。
作業は以上です。なお3.11-ja用公開テンプレートご利用の方はスタイルシートの設定に冗長な部分がございましたので、下記の赤色部分をばっさり削除してやってください。少なくとも一番下の margin-bottom〜 を削除しないとメニュー下の空白が相当とられてしまいます。
全カテゴリー表示に MTTopLevelCategories タグを用いた方法がありましたので記述を一部修正致します。Note book :: Hibi no Note さんよりご指摘頂きました。ありがとうございました。

 

戻る



RSSリーダー
 RSSリーダーへ登録すると、最新の更新情報がすぐに分かってものすごく便利です♪ クリックだけでカンタンにRSSに登録することができますよ♪
My Yahoo!に追加
↑myヤフー登録
Add to Google
↑Googleパーソナルページ登録
ブログランキング
ブログランキング参加中です!
ぜひ1日1回クリックしてください。
応援よろしくお願いいたします。
ダイエットブログランキング