LinkRoller替代Blogroll 升级到MT4,比较普遍的问题就是插件兼容性,被抱怨的比较多的是Blogroll,Blogroll的标签在MT4中无法识别,作者到目前为止还没有升级代码,有人发布了一个替代品LinkRoller ,但有部分Blogroll的功能没有实现:Link的分类和优先顺序,临时的解决方法是用tags与创建时间来对应。 LinkRoller作者提供了安装指南,文件copy 结束,重新访问MT4管理界面,会提示升级,升级过程会将Blogroll所属表的数据自动导入MT4的Asset系列表中(不copy Blogroll的lib文件到LinkRoller 也可以自动导入数据),原来Blogroll的Category(分类)属性,在LinkRoller中会关联到Tags属性。 plugin升级完成后,更新模板代码(参照了Justin的文章):<mt:Tags type="asset" sort_by="name"><h2><mt:TagName></h2><MTSetVarBlock name="linktag"><mt:TagName /></MTSetVarBlock><ul class="links"><mt:assets type="link" tag="$linktag" sort_by="$created_on"...
上次升级MT是两年前的事情了,过程很顺利,这次就没那么幸运,遇到了字符集的问题,此外还有一些插件的问题,而且都比较棘手。 字符集的问题与虚拟主机有一定关系,数据存储在Dreamhost主机的mysql数据库中,3.34版本的数据库使用Dreamhost上Mysql默认的字符集Latin1,升级完成,切换到MT4.26之后,登录MT后台管理,数据库中所有的中文是乱码(问号),尝试了一个从前(MT3.34)的解决方法: 在文件 cgi-bin/mt/lib/MT/ObjectDriver/DBI/mysql.pm 中增加一行: $driver->{dbh}->do("SET NAMES 'utf8'");,这句代码告诉数据库,客户端和数据库连接都使用utf-8编码,数据库返回的数据也使用utf-8编码,但于事无补,乱码依旧。临时学习了一下Mysql处理字符集的机制,找到了一个解决方法:先将升级后(MT4.26)的数据导出,然后新建一个utf-8编码的数据库,最后导入数据即可。 导出数据:$ mysqldump -h HOSTNAME -u USERNAME -p DBNAME...
这篇文章 描述了从DB 恢复MT 控制台密码的方法。 $ perl -e "print crypt('password', 'ac');" mysql> update mt_author set author_password...
升级的好处 我就不多说了,这里介绍一点升级过程中的tips。 比较文件 将程序解压、解包之后放入与上一版本同级的目录,取名mt3.34 ./mt ./mt3.34 上一版本因为额外安装有插件以及个别hack文件,不能完整替换,先比较两个目录,使用-q 参数忽略具体文件差异,-r 递归子目录。 $ diff -qyr mt3.34 mt |grep...
Most of blogers have the recent entry list at the sidebar. Sometime it's difficult to...
升级MT3.3 以后多了不少plugin,其中包括Widgets Manager,Widget 这个词最近在Blog 出现频率很高,也不知道到底是何物,今天google了一下,才知道大部分人谈论的Widget 与我要了解的MT Widget 还不是一回事。 这里有篇文章详细介绍:使用Movable Type的Widgets,我就不废话了。只说一个奇怪的问题,Widget Manager 会在Template 的Module 中生成默认的Widget 可以利用的Module,我已经有了很多类似的Module,于是把已有的Module重命名,在名称前面加上"Widget: "...
MT默认的模板包含大量的重复或者类似模板代码,当你需要进行一处模板修改时,也许不得不考虑得更多,并在多个模板中同时进行,已达到统一的效果。 模板重构的目的就是尽可能将多个模板之间相同的部分抽象出来,然后在多个模板中进行引用,另外还有趋向于将一组具有相同功能的模板代码放入同一个模板文件 的作用,从而减少模板修改带来的工作量。MT很早就在模板中支持Module,定义好的Module可以通过如下代码进行引用。 <$MTInclude module="Module Name"$> 我 们需要做的就是把重复的模板代码放在一个个Module中进行定义,然后在模板中去引用他们。经过一定的重构,模板的重用性得到一定的改观,但依然会有一 些冗余的代码,除非MT可以提供一些模板标签,能够让我们判断当前所在的模板而采用不同的Module或者调整细微的模板代码差别。幸运的是,我找到了一 个MT plugin,mt-varz version 0.31。 它提供了更高级的变量支持,支持以下模板标签: <$MTGetVar$>,...
我有一些这样的日志,需要长期更新,不断追加内容,或者内容经常变化,需要不定期进行更新。它们很容易就被新的日志淹没,从而增加了查找定位的成本。对于这样的日志,我希望可以将它们固定的列在blog边栏,方便随时查看和修改。有两种方法可以方便的实现: 为这部分日志指定共同的分类(categories) 为这部分日志指定共同的标签(tags) 指定分类的方法,将会额外增加一个blog分类,可能是不期望的,不过也可能正是使用者所期望的,我采用了第二种指定tags的方法。MT3.2 开始,MTEntries模板标签新增了tag参数,用于列出具有特定tag的日志。MT中以"@"开头的tags会被隐藏,不会在MTTags 模板标签中列出,但这个标签在其它方面与一个真正的标签没有任何区别,比如可以用来关联主题相似的日志。我为这部分日志指定了一个永远不会被其它日志用到的标签,并加上了"@"作为前缀。然后在边栏增加一下模板代码来生成这部分日志的列表。 <h3>不定期更新|Handy Entries</h3> <div class="module-content"> <ul> <MTEntries tag="@_handy"> <li><$MTInclude module="Entry...
Yueyue is migrating her blog from msn spaces to movable type . It's a real...
TinyMCE new version 2.09 came. What's the new feature? Let's have a compare with the 2.02....
This site disappeared on Internet from the early of this year because of the server...
I had a plugin that allows having a related entries list in the same category. It's...
The too long monthly archive list get bad-looking.Download a new plug-in mt-archive-dateheader to have a neat...
最近决定把MT的后台数据从Berkeley的文件DB转到MySQL。原因之一是使用关系数据库可以获得更多的灵活性,比如运行一条sql来变更 所有entry的某一个属性;另外一个原因是为了提前熟悉一下这个数据库,牙牙网站使用虚拟主机,DreamHost提供的数据库是MySQL,而我从前 主要使用了SQL Server,Oracle和DB2,Postgresql也只了解了一点,而MySQL则几乎没有接触过。 下载了5.0.27安装文件,安装顺利,使用了第一个默认端口3306,UTF-8的数据库字符集。 安装完成,运行了命令行客户端,输入help,给出的帮助命令不多,也没见到有关数据库创建的命令,便查了安装的帮助文件,组织的还算不错,很齐全,很快找到相关的命令: 查看已有数据库 show databases; 连接数据库 test use test; 创建数据库 mt...
There's no way to batch edit basename in MT, even no a plugin for this....
Download MT 3.33 from MovableType.I didn't find the special version for upgrade, however get it back...
I losts my basenames for each entrie after I export and then import my entries from...
If you want to use all the templates of MT2 in MT1 including Indexes, Archives, System...
Following code will make all tags of textareas editable with TinyMCE.Add following code to MT /tmpl/cms/header.tmpl<!--...
在Six apart 读到一篇文章,介绍了MT 3.2 版本支持的一项新功能:Entry basename control,在3.2 版本之前,MT不支持手动命名Entries 发布的URL ,是根据Title 自动生成的,如果是英文标题,会将其转化为小写,空格转化为下划线,并自动截断。如果是中文标题,则汉字部分被字母填充,类似于下面这样:mt_oeoeoeentrie.html在3.2 版本中提供了额外的Field 对URL 进行手动指定,这样的URL 就更友好。不过我一直使用3.14 版本,并通过变通的方法实现了URL手动命名。为此需要占用Entries...