[MT Tips]如何让某个日志在Blog首页固顶?

貌似最简单的办法就是修改日期到一个很遥远的日期,比如 AnySQL 那样:) 但是带来的问题的很多,比如导致Feed阅读器犯糊涂或者影响搜索引擎的收录等等,更糟糕的是对于 日志来说,最主要的就是发布日期。

也许大家都已经发现了,我的主页模仿 MT Forum 搞了一个固顶日志(也是为了风格统一)出来,这个固顶日志是后台通过自己设置实现的。是怎么设置的。答案是利用 <mt:Entries> 的tags 功能。
具体概念代码如下:
<mt:Entries tag="@top" sort_by="authored_on"
sort_order="descend" limit="1" blog_ids="1,5">
dosthing.....
</mt:Entries>
这样我们只要要在固定的主题 加上 tag ,tag 名字为 @top 就可以了。
PS: @开头的tag属于隐藏 tag,不会在发布页面显示出来。
共享下我的固顶日志模块代码,其实就是从 MT Forum 模版中抓出来的,改了判断条件为 tag =@top 而已。
<mt:Ignore> 作为首页的固定Entry</mt:Ignore>
 <mt:Entries   tag="@top" sort_by="authored_on"
        sort_order="descend" limit="1" blog_ids="1,5">
    <mt:EntriesHeader>
<div id="popular-entry" class="entry">
    <h2>sticky Entries</h2>
    </mt:EntriesHeader>
    <div class="entry-asset">
        <div class="entry-asset-inner">
            <div class="entry-header">  
                <h3 class="entry-title"><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a><mt:Unless name="category_archive"> <span class="category-name"><a href="<$mt:EntryLink archive_type="Category"$>"><$mt:EntryCategory$></a></span></mt:Unless></h3>
            </div>
            <$mt:Include module="Userpic" userpic_size="50"$>
            <div class="asset-meta">
                <span class="byline">By <span class="vcard author"><a href="<$mt:Var name="profile_view_url" encode_html="1"$><$mt:EntryAuthorID$>"><$mt:EntryAuthorDisplayName$></a></span> on <abbr class="published" title="<$mt:EntryDate format_name="iso8601"$>"><$mt:EntryDate format="%b %e, %Y at %l:%M %p"$></abbr></span>

            </div>
            <div class="entry-body">
                <$mt:EntryExcerpt$>
            </div>
            <div class="entry-comments">
                <p class="comment-count icon-comment"><a href="<$mt:EntryPermalink$>#comments"><$mt:EntryCommentCount singular="1 Reply" plural="# Replies" none="Add a Reply"$></a></p>
                <div class="last-comment">
        <mt:If tag="EntryCommentCount">
                    <h4>Last Reply</h4>
            <mt:Comments lastn="1"> 
                    <$mt:Include module="Userpic" userpic_size="36" userpic_type="commenter"$>
                    <div class="asset-meta">
                        <a href="<$mt:EntryPermalink$>#comment-<$mt:CommentID$>" title="Permalink to this Reply"><abbr title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate format="%b %e, %Y"$></abbr></a>
                        <div class="byline">By <span class="vcard author"><mt:IfCommenterIsAuthor><a href="<$mt:Var name="profile_view_url" encode_html="1"$><$mt:CommenterID$>"><$mt:CommenterName$></a><mt:Else><$mt:CommentAuthorLink$></mt:IfCommenterIsAuthor></span></span></div>
                    </div>
            </mt:Comments>
        </mt:If>
                </div>
            </div>
        </div>
    </div>
    <mt:EntriesFooter>
</div>
    </mt:EntriesFooter>
</mt:Entries>
<mt:Ignore> Abstop Entry End</mt:Ignore>
值得注意的是我调用了 显示头像的模块,如果你没有这个,删除
<$mt:Include module="Userpic" userpic_size="50"$>
就可以了

Update: 我的例子中的 blog_ids="1,5" 是因为我用了 MultiBlog 功能,同时在编号为1和5的 Blog 中查找日志。