可移动类型:在ArchiveList中显示所有月份,突出显示活动

时间:2009-09-04 11:39:47

标签: html movabletype

我第一次与MT合作,并且在显示月度档案列表时遇到了一些问题。我想显示一个表,其中每年包含条目是一行,所有个月在每行中显示为单元格。显示包含条目的月份,其名称包含在相应月度存档的链接中。

我正在寻找的HTML将是:

<table>
<tr>
<th>2009</th>
<td><a href="link_to_jan_2009_archive">J</a></td>
<td>F</td>
<td>M</td>
<td><a href="link_to_apr_2009_archive">A</a></td>
<td>M</td>
<td>J</td>
<td>J</td>
<td><a href="link_to_aug_2009_archive">A</a></td>
<td>S</td>
<td>O</td>
<td>N</td>
<td>D</td>
</tr>
<tr>
<th>2008</th>
    ...
</tr>
</table>

目前我正在接受:

<table>
<tr>
<th>2009</th>
<td><a href="link_to_jan_2009_archive">J</a></td>
<td><a href="link_to_apr_2009_archive">A</a></td>
<td><a href="link_to_aug_2009_archive">A</a></td>
</tr>
<tr>
<th>2008</th>
    ...
</tr>
</table>

这是有问题的MT代码:

<mt:ArchiveList type="Yearly" sort_order="descend">
<mt:ArchiveListHeader><table></mt:ArchiveListHeader>
    <tr>
        <th><$mt:ArchiveDate format="%Y"$></th>
        <mt:ArchiveList type="Monthly" sort_order="ascend">
        <td><$mt:ArchiveDate format="%b"$></td>
        </mt:ArchiveList>
    </tr>
    <mt:ArchiveListFooter>
</table>
</mt:ArchiveListFooter>
</mt:ArchiveList>

到目前为止,我的代码只生成包含每年条目的月份。任何人都可以帮助我添加其他月份吗?

提前致谢,

罗斯

1 个答案:

答案 0 :(得分:0)

您想要的存档与我在Adventures in Movable Type上撰写的存档非常相似。

这是针对您的用例的修改版本。你必须做一些删除才能将月份名称缩短为你想要的单个字母。

将此代码放入索引模板并发布:

<mt:SetHashVar name="month_map">
    <$mt:Var name="1" value="Jan"$>
    <$mt:Var name="2" value="Feb"$>
    <$mt:Var name="3" value="Mar"$>
    <$mt:Var name="4" value="Apr"$>
    <$mt:Var name="5" value="May"$>
    <$mt:Var name="6" value="Jun"$>
    <$mt:Var name="7" value="Jul"$>
    <$mt:Var name="8" value="Aug"$>
    <$mt:Var name="9" value="Sep"$>
    <$mt:Var name="10" value="Oct"$>
    <$mt:Var name="11" value="Nov"$>
    <$mt:Var name="12" value="Dec"$>
</mt:SetHashVar>

<table>
<mt:ArchiveList type="Yearly" sort_order="ascend">
    <mt:ArchiveListHeader><tr><$mt:ArchiveDate format="%Y" setvar="startYear"$></mt:ArchiveListHeader>
    <$mt:ArchiveDate format="%Y" setvar="archiveYear"$>
    <$mt:SetVar name="is_posts_year_{$archiveYear}" value="1"$>
    <mt:ArchiveList type="Monthly">
        <$mt:ArchiveDate format="%m%Y" setvar="monthYear"$>
        <mt:SetVarBlock name="links_{$monthYear}"><a href="<$mt:ArchiveLink$>"><$mt:ArchiveDate format="%b"$></a></mt:SetVarBlock>
    </mt:ArchiveList>
    <mt:ArchiveListFooter></tr><$mt:ArchiveDate format="%Y" setvar="endYear"$></mt:ArchiveListFooter>
</mt:ArchiveList>
<mt:For var="year" from="$startYear" to="$endYear">
    <mt:If name="is_posts_year_{$year}">
    <tr>
        <th><$mt:Var name="year"$></th>
    <mt:For var="month" from="1" to="12">
            <mt:SetVarBlock name="monthYear"><$mt:Var name="month" sprintf="%02d"$><$mt:Var name="year"$></mt:SetVarBlock>
        <td>
            <$mt:Var name="links_{$monthYear}" setvar="month_link"$>
            <mt:If name="month_link">
                <$mt:Var name="month_link"$>
            <mt:Else>
                <$mt:Var name="month_map{$month}"$>
            </mt:If>
        </td>
    </mt:For>
    </tr>
    </mt:If>
</mt:For>
</table>