我第一次与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>
到目前为止,我的代码只生成包含每年条目的月份。任何人都可以帮助我添加其他月份吗?
提前致谢,
罗斯
答案 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>