user-pic

“导入/导出”功能优化(1):让导出文件包含tags

Vote 0 Votes

MT 的"导入/导出"功能不包含Tags 这给很多朋友代理不便,还要路杨优化了这个HACK,依照下列方法进行修改即可。

1、先修改导出:
打开lib/MT/ImportExport.pm 模块,找到


AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
TITLE: <$MTEntryTitle strip_linefeeds="1"$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
CONVERT BREAKS: <$MTEntryFlag flag="convert_breaks"$>
ALLOW PINGS: <$MTEntryFlag flag="allow_pings"$>


在其下添加:

<MTEntryIfTagged>
Tags: <MTEntryTags><$MTTagName$>,</MTEntryTags>
</MTEntryIfTagged>


这样导出的时候就会有Tags导出了,其中分割符号是","。

2、修改导出,
同样是lib/MT/ImportExport.pm 模块,找到

elsif ($key eq 'TITLE') { $entry->title($val); }

在其下添加:


elsif ($key eq 'Tags') {
if ($val)
{
$cb->(MT->translate("Find tags ('[_1]')...\n", $val));
my @tagnames = split(',',$val);
$entry->add_tags(@tagnames);
}
}

大功完成。
说明:$cb->(MT->translate("Find tags ('[_1]')...\n", $val)); 这句是输出的提示,可以删除之,如果你是完美主义者,你还应该在MT::L10N::zh_cn模块(语言包)中添加

"Find tags ('[_1]')...\n" => "在导入文件中发现Tags ( '[_1]')...\n",


注意 : 同样,函数 $entry->add_tags ,标签 MTEntryIfTagged,MTEntryTags,MTTagName,什么的相关资料你可以从 lib/MT/Tag.pm ,lib/MT/Template.pm ,lib/MT/Template/ContextHandlers.pm 等模块中获取映射函数。

文章引自:http://easun.org/archives/mt_hack_importexport_tags.html

Add a Reply

Forum Groups

Blogcs 基于MT平台的BSP

MovableType 中文化

MovableType 使用

16 13

Last Topic: Image::Magick 模块的安装 by bb on 9, 2008

22 1

Last Topic: 修改MT的作者归档路径 by bb on 25, 2008

1 0

Last Topic: 漂亮的Movable Type模板 by Aviva on 11, 2009

MovableType 延伸

3 4

Last Topic: dreamhost完美支持MT by kesor on 24, 2008