2010年8月

カテゴリを希望の順序で表示

ブログを構築中のサイトのお客様から電話あり。「カテゴリの順番って変えられませんか?」

このブログは、スタッフをカテゴリで分けていて、スタッフ名のカテゴリにチェックを入れると記事の見出しに自動的にそのスタッフ名が表示されるようにしてあります。

それで、カテゴリを役職順に並べたいところですが、MTのカテゴリはアルファベット順にならんでしまうので、通常管理画面では変更できません。

そこで、検索すると、いいプラグインがありました。

http://www.h-fj.com/blog/archives/2004/12/19-113315.php

カテゴリー名の先頭に番号をつけて、それを表示する際に番号をカットする、という手法です。

まず、cutfirstchar.pl ファイルをダウンロードします。
そのままmtのインストールしてある階層のpluginsディレクトリにアップしていいらしいのですが、他のプラグインはフォルダで囲ってあるので、これも「Cutfirstchar」というフォルダを作ってそこに入れ、それごとアップしました。

次に、カテゴリの編集画面で、表示したいカテゴリ順に連番を振ります。私は一番上から001、002、003・・・としました。

これだけで、希望の順番にカテゴリが並びますが、連番はカッコ悪いので消したい。

で、<$MTCategoryLabel cutfirstchar="桁数"$>と設定してやると、先程のプラグインのおかげで、頭から"桁数"分だけが表示されなくなります。

例として、私は以下のように記述しました。

-----------------------

<h2>カテゴリー</h2>
<mt:TopLevelCategories>
<mt:SubCatIsFirst><ul></mt:SubCatIsFirst>
<li>
<mt:IfNonZero tag="CategoryCount">
<a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel cutfirstchar="3"$>
</a>
<mt:Else>
<$mt:CategoryLabel cutfirstchar="3"$>
</mt:Else>
</mt:IfNonZero>
<$mt:SubCatsRecurse$>
</li>
<mt:SubCatIsLast></ul></mt:SubCatIsLast>
</mt:TopLevelCategories>

tagAssistプラグインをいれて 見出し設定

お客さんのMTOSに、tagAssistプラグインをインストールしました。

見出しやフロートなどの設定が出来るようになってます。
シンプルな機能だけ集めたものだけど、充分なきがしますね。

htag.jpg

ダウンロードはこちら

http://css-happylife.com/archives/2008/0108_2203.php

 

別のブログから、記事のインクルードに成功!

MTOSでカスタムフィールドを作っています。

画像をアップロードするフィールドがJavaScriptの関係で設置できなかったので、本文の「画像挿入」の仕組みを使うことにして、他は全部テキストフィールドを作りました。

こんなかんじ

なかなかうまくいきました。

これで、MTタグを作れたので、次は表示ページにスタイルシートを適用させ、各記事が行儀よく並ぶようにしました。

で、そのページは完成したのですが、今度、その記事の更新が別のブログに反映出来るようにしたい。ということで、やってみました。インクルード。

まず、元のブログにインデックステンプレートを新たに作成し、他の表示先のブログに表示できるよう、スタイルシートで体裁を整えます。この時、スタイルシートも、別に新しく専用の物をつくると混乱しないかなと思います。

それから、そのインデックステンプレートのファイル名を「.inc」にして、「shtml」のインクルードとして処理するにチェックを入れます。

で、表示先のテンプレートの中に、

<!--#include virtual="ファイル名.inc"-->

といれます。

後は、そのファイルの拡張子を.shtmlに変えればOK。 ばっちりうまくいきました。

参考書はこちら。


100423_142333.jpg  

MTOSカスタムフィールドでつまづく。

昨日に続きまして、MTOSにカスタムフィールドをいれ込んでいます。

スタッフ紹介ページにだけ、名まえ、役職、出身地、すきなものを入力できるフィールドを、それぞれプラグインを作って増やしていきます。

しかし、つまづきました。画像挿入のフィールドが動作しません。あーここにスタッフ写真が簡単にいれられたら、お客さんの更新がすごく楽なのに。

何時間か費やしましたが、ダメ。
何か情報が無いかと検索してみたところ。

ありました。
http://www.mycupoftea.cc/archives/2010/02/26/customfield_on_mtos5.html

 

「MT5では管理画面のJavaScriptがjQueryベースに変更されました。そのため、JavaScriptに依存するフィールド追加は、MT5では正しく動作しなくなります。具体的には、画像型のフィールドと、日付/時刻型フィールドが正しく動作しなくなるはずです。」

この人はなんとか動くようにしたらしい。どうやったんだろう。聞いてみたら教えてくれるだろうか・・・。

納期も納期なので、とりあえず、本文に元からついている画像挿入ボタンを使用する方法で行くことに。苦肉の策。まさに。

MTOSで、特定のブログにカスタムフィールドを付け足す

5案件掛け持ちしてて、常に「仕事しなきゃ」という強迫観念に駆られていましたが、

1件完納。
3件チェックバックで修正指示待ち

今日は残りの1件のみ考えていればいいんだ。あ~ちょっぴり解放感。幸せ。

mtosbook.jpgその残りの1件はMovable Type Open Sourceでサイトを構築しています。

スタッフのページを、一つのブログとして独立させて、店員さんの入ったの辞めたのに対応できるようにしたいのですが、管理画面のカスタマイズをすると、他の「料金ページ」だの「スタッフブログ」だのの管理画面にも同じカスタムフィールドがでてしまう。

さくらインターネット、MTOSは複数インストール出来ないし。(どこでも普通はしないであろう)

ちなみにMTOSはMTと違って、カスタムフィールド気楽に追加できる機能はありません。
参考書みながら、プログラムに直接手を加えています。

で、参考書に載ってました。特定のブログだけにフィールドを反映させる方法。
以下です。

<mt:if name="blog_id" eq="5">
<p>たとえばテスト</p>
</mt:if>

 <mt:if></mt:if>で囲んでやるんですね。
eq="5"の5には、ブログIDをいれてやります。ブログIDはそのブログの管理ページを触っている時、常にブラウザのアドレスバーに..../mt.cgi?__mode=view&_type=entry&blog_id=5 みたいな感じで表示されてます。

結構面白いです。MTOSのカスタマイズ。
このサイトもそのうち「Movable Type (吹き出しカッコ)Open Source(吹き出しカッコ閉じ)カスタマイズ中です(-_-)v」にいつか改名してるかもしれません。ご期待を。

 

 

1

▲トップへ戻る

* FEED


presented by 地球の名言