Movable Type カテゴリー・アーカイブでサブカテゴリを表示する

Movable Type
Movable Type アーカイブテンプレート

Movable Typeカスタマイズ カテゴリー・アーカイブ・テンプレートをカスタマイズして、サブカテゴリを表示する

Movable Type4

アーカイブテンプレートを編集して、サイトをどう見せるかカスタマイズすることができますが、まずカテゴリーページです。
よくある要望が、あるカテゴリーの下のサブカテゴリーを表示する、ということだと思います。
次のようにやってみます。

 
 <MTHasSubCategories>
 <div>
 <MTSubCategories>
 <MTIfNonZero tag="MTCategoryCount">
 <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>">
 <MTCategoryLabel remove_html="1>
 </a>
 </MTIfNonZero>
 </div>
 </MTHasSubCategories>

解説は次のとおりです。

 <MTHasSubCategories> …現在のカテゴリにサブカテゴリが設定されている場合、以下の動作をする
 <div>
 <MTSubCategories> …サブカテゴリの
 <MTIfNonZero tag="MTCategoryCount"> …カテゴリがあれば(0でなければ)
 <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>">…そのサブカテゴリのリンク設定
 <MTCategoryLabel> …サブカテゴリの名前
 </a>
 </MTIfNonZero>
 </div>
 </MTHasSubCategories>

しかし、これだけだとサブカテゴリがない場合は、何も起きません。
サブカテゴリがない場合も考えます。

続き→Movable Type 同じ階層にあるほかのサブカテゴリを表示

参考:テンプレートタグについて→ブロックタグとファンクションタグの使い方と違いについて

Movable Type導入支援・カスタマイズ・構築

Movable Type アーカイブテンプレート

Movable Type

Movable Type カスタマイズ アーカイブテンプレートの使い方

Movable Typeをカスタマイズする場合、何を編集するかというと、アーカイブテンプレートの編集がメインになってきます。
アーカイブテンプレートは何かというと、たとえば

  • エントリーアーカイブテンプレート
  • カテゴリーアーカイブテンプレート
  • 月別アーカイブテンプレート

などがあります。
アーカイブとか言うと、なんだか難しく感じるかもしれません。
が、平たく言うと、たとえばエントリーアーカイブテンプレートはエントリーをどうやって表示するか、というテンプレートのことなんです。
カテゴリーアーカイブテンプレートはカテゴリー別のページをどのように表示するかというテンプレートですね。

アーカイブテンプレートの変更は、管理画面でブログを開き、上部の「デザイン」というメニューから「テンプレート」をクリックします。
その画面で、右のほうにある、クイックフィルタとある項目の下にある、「アーカイブテンプレート」をクリックします。
すると、左の方にアーカイブテンプレートが出てきます。
たとえば、カテゴリー・アーカイブをクリックしましょう。
こんな画面になって、編集ができます。
mt1.gif

これらのアーカイブテンプレートは普通のWebを作るような、HTMLとほぼ一緒です。
見た目の表示のカスタマイズは、HTMLとCSSでがんばって作ってください。
ここではその説明は割愛します。

テンプレートの中に、一部、テンプレートタグというMovable Type特有のタグが入っていて、これをカスタマイズすることによって、プログラムで出力する情報を変更することができます。

テンプレートタグについて→ブロックタグとファンクションタグの使い方と違いについて

アーカイブテンプレートカスタマイズ関連:

Movable Type導入支援・カスタマイズ・構築

Movable Type テンプレート作成時のエラー

Movable Type

正直なところ、Movable Typeっていいソフトだと思うんだけど、公式サイトの説明があまりに不親切なのは、普及を妨げている一因だと思う。
タグの逆引きぐらい置いてくれませんかね?
やりたいことがあると、タグの名前を見ながら見当つけてクリックして探すしかないんで。

まぁ、それは置いておいて…。

4.01を使っていて、遭遇したバグ(らしい)のエラーについてです。

エントリー・アーカイブ・テンプレートを変更しようとしていて、アーカイブ・マッピングもついでに変更しようとしてました。
アーカイブ・マッピングを二つ登録してみたらどうなるか、など試していたところ、テンプレートを保存すると、次のエラーが出てしまうようになりました。

・Can’t call method “prefer” on an undefined value at lib/MT/App/CMS.pm line 8041.

ググると、次のサイトに情報があり、おかげで助かりました。m(_ _)m
http://forums.sixapart.com/index.php?act=Print&client=printer&f=28&t=63545

どうやらこれ、アーカイブマップを一時でも一つも指定しないことがあるとこの不具合が起こるみたいです。

で、直す方法。
上記の英語の情報しかなかったので、下記に訳してみました。

管理画面で、エラーの出るテンプレートのURLを見てみましょう。
&_type=template&id=1234.
とか書いてあるところがある、このid がテンプレートのidです。
phpMyAdminなどでデータベースに接続し、mt_templatemap というtableのtemplatmap_template_id が先ほどのidになっている行を探します。
その行のtemplatemap_is_preferredが0になっていたら、1にします。

これで治りました。

Movable Type導入支援・カスタマイズ・構築

Missing contentDescription attribute on image

Android

Missing contentDescription attribute on image

Androidのレイアウトファイルで現れるこのエラー。
エラーメッセージの通り、説明がありませんよー ということですね。

 android:contentDescription="@string/hogehoge" 

などと、説明を追加してあげましょう。

Microsof Outlook 返信のスタイルを変える

Office2007

Microsoft Outlookを使用するとき、返信するメールに、たとえばインラインでコメントを挿入することは日常的に行われてますが、その元のメールの行頭に、

 >

などのマークが入っていないと、どこからどこまでが元の文かわかりません。

デフォルトではこのようになっていないので、返信の形式を設定する必要があります。

  1. ツール→オプションをクリック
  2. 一番上、「電子メール」項目の「メールオプション」をクリック
  3. 下の方に「返信/転送時のスタイル」とあるところの「メッセージに返信するとき」のプルダウンメニューから、「元のメッセージの行頭にインデント記号を挿入する」を選択して、「OK」をクリック。

上記の手順で、変更できます。

  • かなり助かりました☆ — Yori {2007-06-08 (金) 12:12:05}