user-pic

修改MT的作者归档路径

Vote 1 Vote

Movable Type 的按作者归档,是以作者的"显示名称"(AuthorDisplayName)为路径名的,这给我带来了很大的麻烦。因为如果显示名称设定为完全的中文,MT 是不能以此为路径名的,它只能用作者编号来代替。

比如说一个作者,注册名称(AuthorName)为 apple,显示名称(AuthorDisplayName)为Jobs,作者编号(AuthorID)为1;
另一位作者,注册名称为 bill,显示名称为比尔,作者编号为2。
那么 MT 在进行作者归档的时候,apple 就会被归档在 "/jobs/index.html",而 bill 的路径则是"/author2/index.html",对用户和搜索引擎都很不友好。

不知道 MT 为何这样设定,并且没有提供更改选项。
如果系统有很多作者,显示名称重复了它会如何处理呢?
另外如果使用了汉化,"authorX" 会被汉化为"作者(X)",MT 将会进行错误的作者归档,可能会造成首页的错误。

我试着用 AuthorName 替代 AuthorDisplayName,基本解决了这个问题。

方法是修改 ContextHandlers.pm 这个文件(路径为 lib\MT\Template)。
下载、备份这个文件,找到下面这一行:
'a' => "<MTAuthorDisplayName $dir>,
把它替换为
'a' => "<MTAuthorName $dir>",
重新上传,覆盖。

然后登录 MT 后台管理,修改归档模版的 Entry Listing 模版。
在归档映射那里,把"按作者"归档的路径自定义为 %a/%f,"按作者以月"自定义为 %a/%y/%m/%f。保存,重建系统,应该就 OK 了。

也许你已经发现,这个修改方式很暴力。那是因为我并没有看懂代码,只能试着进行简单的替代。欢迎提供更好的修改方法。

参考文档:Archive File Path Specifiers


原文链接:http://www.ashowbox.com/2008/03/mt-authordisplayname-archive.html

1 Reply

| Add a Reply

Add a Reply

Forum Groups

Blogcs 基于MT平台的BSP

3 1

Last Topic: 本站的注册验证Email问题 by admin on 2008年11月20日

MovableType 中文化

1 0

Last Topic: Movable Type 中文化 - 平生一笑 by bb on 2008年10月11日

1 0

Last Topic: Zhu8's Weblog:猪八的网:浮生志 by Zhu8 on 2008年10月16日

MovableType 问题咨询

Be the first to post a topic in this forum

MovableType 使用

16 13

Last Topic: Image::Magick 模块的安装 by bb on 2008年11月 9日

30 35

Last Topic: MT-Twitter:将MT文章同步到Twitter by bb on 2008年3月 9日

22 1

Last Topic: 修改MT的作者归档路径 by bb on 2008年10月25日

MovableType 模板

Be the first to post a topic in this forum

22 17

Last Topic: MovableType评论格式化 replies-to-replies by bb on 2008年10月15日

MovableType 延伸

14 17

Last Topic: 从Wordpress转移到Movabletype by bb on 2007年5月12日

3 1

Last Topic: dreamhost完美支持MT by kesor on 2008年11月24日

2 2

Last Topic: 最新版MovableType 4.22 已经发布 by bb on 2008年11月19日