首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >活动类型:在ArchiveList中显示所有月份,突出显示活动

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

Stack Overflow用户
提问于 2009-09-04 11:39:47
回答 1查看 595关注 0票数 0

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

我要寻找的HTML应该是这样的:

代码语言:javascript
运行
复制
<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>

现在我得到的是:

代码语言:javascript
运行
复制
<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代码:

代码语言:javascript
运行
复制
<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>

到目前为止,我的代码只生成包含每年条目的月份。有人能帮我把这几个月加起来吗?

提前谢谢你,

罗斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-21 01:08:05

您想要的存档非常类似于我在活动式冒险上所写的存档。

下面是修改后的用例版本。您将不得不做一些删除,以使月名缩短为您想要的单一字母。

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

代码语言:javascript
运行
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1378750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档