2008年5月12日

MT4.1>ユーザーアーカイブの不具合について

Movable Type4.1において、ユーザー表示名が日本語の場合、ユーザーアーカイブが生成できない現象とその回避方法について。サポートに問い合せたところ、再現性のある問題と認識しているということでしたが、WEBで検索しても出てこないので、困っている人もいるかと思い、アップしておきます。

複数のユーザーでブログを運営している場合、ユーザーごとにアーカイブを切り出す「ユーザーアーカイブ」という機能があります。その方法は「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」を選び、以下の画面から「新しいアーカイブマッピングを作成」をクリックするわけですが。
0512a.jpg

ここで「ユーザー別」を選択して、新しいアーカイブマッピングを追加すると、以下の画面になります。
0512b.jpg

デフォルトで、「author-display-name/index.html」というアーカイブマッピングが作成されるのですが、これがうまく機能しないようです。以下、説明します。

author-display-name は、ユーザー名ではなくユーザー表示名のことを指します。このブログでは「JUN(全角)」がそうです。日本語でブログを作っている人なら、山田太郎とか殿馬一人とか、そういう全角、2バイト文字を表示名にしている人が多いと思うのですが、このauthor-display-nameは、ユーザー表示名が全角文字の場合まったく機能しないようです。また、サイドバーなどに切り出すアーカイブリストには、ルート直下のindex.htmlがリンクされます。

ただし、表示名が山田太郎RTなどという人ならば(いないと思いますが)、RTに着目して「root/RT/index.html」と生成してくれます。

これを回避するには、ユーザー名を表示するMTタグ MTAuthorName か、ユーザーID番号を表示する MTAuthorID を使います。ユーザー名は、つまりログイン名ですので、セキュリティ上これが見えるのはよくありませんから、MTAuthorID の方が無難かと思います。アーカイブマッピングで、「<$MTAuthorID$>/index.html」としてやると、root/ID番号/index.htmlとしてユーザーアーカイブを生成するようになります。

トラックバックURL

このエントリーのトラックバックURL:
http://fishing-forum.org/cgi-bin/mt/mt-tb.cgi/78

コメント

3日間ほど悩んでました。
author1のフォルダがあるのに、アーカイブのindex.htmlが書き出されないし、ユーザーアーカイブだけ再構築すると直下のindex.htmlが書き換わるしでどうにも苦労していました。
MT4でユーザー名も漢字名でユーザ変更できたので、これで作業していたのですが、もしやと思いユーザーを欧文に変更し、それでも直らず、もしやと思い検索してみたら、このブログで解決です。
フォルダ名が気持ち悪いので、ユーザー名・ニックネームも欧文で統一しました。ありがとうございました。

zarumathさん

WEB上ではほとんど話題になっていないようなので、書いておいたのですが、お役に立てたようでよかったです。six apartのサポートの方は、次回バージョンアップの参考にしますとのことでした。簡単な仕様変更なので、早めに対応してほしいですね。

解決策THANKSです。
私も、同様、ユーザーアーカイブだけ再構築するとブログのトップページにリンクが書き換わってしまいとても苦労していました。
いくら探しても解決方法が見つからず、サポートにTELかな?と思った矢先にやっとの思い出当サイトにぶつかりました。

とりあえず何とかなりそうです。ありがとうございました。

どうもコメントをありがとうございました。お役に立てて幸いです。

はじめましてm(_ _)m

MT4.21を使っているのですが、
ユーザーアーカイブがどうして表示されないのか、
まったく見当がつかなかったのですが、
このエントリにたどり着いて、無事解決しました。
ありがとうございました。

MT4.21では、
カテゴリ別ブログ記事リストで、ユーザー別の新しいアーカイブマッピングを作成し、
パスをauthor/<$MTAuthorID$>/index.htmlとしました。

参考になるエントリを書いていただいて、本当にありがとうございました。

shunkさん

はじめまして。どうもコメントをありがとうございました。お役にたててよかったです(^_^)。

コメントする