2008/3/7 金曜日

Movable Type4.1 2つの疑問

Filed under: CMS — にっく @ 16:30:27

お仕事でMT4.1を使ってサイトを構築しています。

しばらくMTは触っていませんでしたが、4以降になってずいぶん変わったのですね。結構CMSらしくなって、手ごたえのあるシステムになっています。

さて、クライアントのサイトをCMS化している最中、いくつか「?」なことが出てきました。

すでに、問題自体は解決しているのですが、少し引っかかることがあるためエントリーで書いてみます。どこかのMTマスターさんがふらりとレスを残してくれる or 同じようなことではまっている人への解として使っていただければ幸いです。

■1 カスタムフィールドで長い選択肢を作ると、文字化けが起こる

前提条件:
MTのエントリーで、記事に関連した都道府県名をひとつ選ばせたい。ひとつのエントリーに都道府県名ひとつの単一選択。カテゴリを利用すると、複数選択する人がいるかもしれない

実装方針:
カスタムフィールドでプルダウンによる単一選択。47都道府県を、カンマ区切りで入力

現象:
47都道府県をカスタムフィールにカンマ区切りで入力すると、途中で文字化けが起こる

解決策:

MySQLのデータフィールドがvarchar(255)で制限されている。

ここをtextデータにすることで解決。 (mt_field → field_options)
mt_cf.jpg

疑問点:
カスタムフィールドの値の制限値を見ていると、せいぜい「今日のお天気」や「今の気持ちは?」などの、短い選択肢しか作れないように見える。CMSとして使おうとすると需要が高そうな部分だけど、なぜvarchar指定で制限をかける?特別な意味がある?

■2 Multiblogで、すべてのブログから特定カテゴリの記事を一覧化したい

前提条件:
複数ブログを利用したポータルサイト。ウェブサイトのトップ画面に、全ブログの新着記事、ならびに特定カテゴリの新着記事を表示したい。全ブログともカテゴリは同一

実装方針:
Multiblogを利用。include_blogsをall指定して、lastnで新着記事の数量決定。カテゴリについてはMtEntriesのcategoryモディファイアを利用して、特定カテゴリをピックアップ

現象:

mt:MultiBlog mode=”context” include_blogs=”all”

MTEntries category=”カテゴリ名” lastn=”5″

の指定で「全ブログから特定カテゴリの新着5件を表示」と指定したところ、まったく表示がされない。MTEntriesのcategory指定をはずすと、ブログの記事全体からの新着のみ拾ってしまう。

解決策:
アグリゲートして表示させるブログ(ポータルブログ)のみエクスクルード指定をしたら、期待通りの結果になった
mt:MultiBlog mode=”context” exclude_blogs=”ポータルブログid”
MTEntries category=”カテゴリ名” lastn=”5″
これで解決

疑問:
なぜinclude指定だとうまくいかず、exclude指定だとうまくいく?
どなたかご存知の方がいたら教えてください。

コメント (0) »

この記事にはまだコメントがついていません。

コメント RSS トラックバック URI

コメントをどうぞ

HTML convert time: 0.350 sec. Powered by WordPress ME