2009-09-04 34 views
0

我正在第一次使用MT,并且遇到了显示每月存档列表的小问题。我想显示一个表,其中每年包含条目是一行,并且所有个月都显示为每行中的单元格。显示包含条目的月份,并将其名称包含在指向相应月份归档的链接中。可移动类型:显示ArchiveList中的所有月份,突出显示活动

我正在寻找的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

艰难的,我不知道。但是如果几天后你没有得到答案,我可以帮你写一个插件。 – 2009-09-04 12:17:44

+0

谢谢! 我可能会带你上那个...... – 2009-09-04 12:26:01

+0

好的。现在已经晚了,所以如果你提醒我,比如明天就好。你可以在oscherler @ [我的个人资料中的域名]上写字。 – 2009-09-07 23:57:05

回答

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>