6.38 「月別アーカイブ一覧」を年別に折りたたむ ★
P.570
年・月を降順で表示する「月別アーカイブ一覧」を折りたたむ
「月別アーカイブ」ウィジェットテンプレート
<mt:ifArchiveTypeEnabled archive_type="Monthly">
<dt class="sidetitle">月別アーカイブ</dt>
<dd class="side">
<mt:archiveList archive_type="Monthly" sort_order="descend">
<mt:archiveListHeader>
<ul>
<li><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:archiveDate format="%Y年" /></span></div>
<ul id="archive<mt:archiveDate format="%Y" />list" class="tree">
<mt:archiveDate format="%Y年" setvar="year" />
<mt:setVarBlock name="monthly_fold_script">
FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
</mt:setVarBlock>
</mt:archiveListHeader>
<mt:archiveDate format="%Y年" setvar="current_year" />
<mt:if name="current_year" ne="$year">
<li class="tree-list tree-list-end"><mt:getVar name="month_title" /></li>
</ul>
</li>
<li><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:getVar name="current_year" /></span></div>
<ul id="archive<mt:archiveDate format="%Y" />list" class="tree">
<mt:setVarBlock name="monthly_fold_script" prepend="1">
FoldNavigation('archive<mt:archiveDate format="%Y" />','off');
</mt:setVarBlock>
<mt:else>
<mt:unless name="__first__">
<li class="tree-list"><mt:getVar name="month_title" /></li>
</mt:unless>
</mt:if>
<mt:getVar name="current_year" setvar="year" />
<mt:setVarBlock name="month_title">
<a href="<mt:archiveLink />"><mt:archiveTitle regex_replace="/\d+年/","" /></a> [<mt:archiveCount />]
</mt:setVarBlock>
<mt:archiveListFooter>
<li class="tree-list tree-list-end"><mt:getVar name="month_title" /></li>
</ul>
</li>
</ul>
</mt:archiveListFooter>
</mt:archiveList>
</dd>
<dd>
<script type="text/javascript">
//<![CDATA[
<mt:getVar name="monthly_fold_script" />
//]]>
</script>
</dd>
</mt:ifArchiveTypeEnabled>
★「月別アーカイブ」ウィジェットテンプレート(デフォルトテンプレート)
元のテンプレートから008~036を変更し、043~047を追加しています。処理の流れはサンプルテンプレートと同様です。
001:<mt:IfArchiveTypeEnabled archive_type="Monthly">
002: <mt:ArchiveList archive_type="Monthly">
003: <mt:ArchiveListHeader>
004:<div class="widget-archive-monthly widget-archive widget">
005: <h3 class="widget-header"><$mt:ArchiveTypeLabel$> <a href="<$mt:Link template="archive_index"$>">アーカイブ</a></h3>
006: <div class="widget-content">
007: <ul class="widget-list">
008: <li class="widget-list-item"><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:archiveDate format="%Y年" /></span></div>
009: <ul id="archive<mt:archiveDate format="%Y" />list" class="widget-list tree">
010: <mt:archiveDate format="%Y年" setvar="year" />
011: <mt:setVarBlock name="monthly_fold_script">
012: FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
013: </mt:setVarBlock>
014: </mt:ArchiveListHeader>
015: <mt:archiveDate format="%Y年" setvar="current_year" />
016: <mt:if name="current_year" ne="$year">
017: <li class="widget-list-item tree-list tree-list-end"><mt:getVar name="month_title" /></li>
018: </ul>
019: </li>
020: <li class="widget-list-item"><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:getVar name="current_year" /></span></div>
021: <ul id="archive<mt:archiveDate format="%Y" />list" class="widget-list tree">
022: <mt:setVarBlock name="monthly_fold_script" prepend="1">
023: FoldNavigation('archive<mt:archiveDate format="%Y" />','off');
024: </mt:setVarBlock>
025: <mt:else>
026: <mt:unless name="__first__">
027: <li class="widget-list-item tree-list"><mt:getVar name="month_title" /></li>
028: </mt:unless>
029: </mt:if>
030: <mt:getVar name="current_year" setvar="year" />
031: <mt:setVarBlock name="month_title">
032: <a href="<mt:archiveLink />"><mt:archiveTitle regex_replace="/\d+年/","" /> (<mt:archiveCount />)</a>
033: </mt:setVarBlock>
034: <mt:ArchiveListFooter>
035: <li class="widget-list-item tree-list tree-list-end"><mt:getVar name="month_title" /></li>
036: </ul>
037: </li>
038: </ul>
039: </div>
040: </mt:ArchiveListFooter>
041: </mt:ArchiveList>
042:</div>
043:<script type="text/javascript">
044://<![CDATA[
045:<mt:getVar name="monthly_fold_script" />
046://]]>
047:</script>
048:</mt:IfArchiveTypeEnabled>
P.571
年を降順・月を昇順で表示する「月別アーカイブ一覧」を折りたたむ
「月別アーカイブ」ウィジェットテンプレート(サンプルテンプレート)
<mt:ifArchiveTypeEnabled archive_type="Monthly">
<dt class="sidetitle">月別アーカイブ</dt>
<dd class="side">
<mt:archiveList archive_type="Monthly" sort_order="descend">
<mt:archiveListHeader>
<ul>
<li><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:archiveDate format="%Y年" /></span></div>
<ul id="archive<mt:archiveDate format="%Y" />list" class="tree">
<mt:archiveDate format="%Y年" setvar="year" />
<mt:setVar name="flag" value="1" />
<mt:setVarBlock name="monthly_fold_script">
FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
</mt:setVarBlock>
</mt:archiveListHeader>
<mt:archiveDate format="%Y年" setvar="current_year" />
<mt:if name="current_year" ne="$year">
<mt:getVar name="monthly_list" />
</ul>
</li>
<li><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:getVar name="current_year" /></span></div>
<ul id="archive<mt:archiveDate format="%Y" />list" class="tree">
<mt:setVar name="monthly_list" value="" />
<mt:setVar name="flag" value="1" />
<mt:setVarBlock name="monthly_fold_script" prepend="1">
FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
</mt:setVarBlock>
</mt:if>
<mt:setVarBlock name="monthly_list" prepend="1">
<li class="tree-list<mt:if name="flag"> tree-list-end</mt:if>"><a href="<mt:archiveLink />"><mt:archiveTitle regex_replace="/\d+年/","" /></a> [<mt:archiveCount />]</li>
</mt:setVarBlock>
<mt:setVar name="flag" value="0" />
<mt:if name="__last__">
<mt:getVar name="monthly_list" />
<mt:else>
<mt:getVar name="current_year" setvar="year" />
</mt:if>
<mt:archiveListFooter>
</ul>
</li>
</ul>
</mt:archiveListFooter>
</mt:archiveList>
</dd>
</mt:ifArchiveTypeEnabled>
<dd>
<script type="text/javascript">
//<![CDATA[
<mt:getVar name="monthly_fold_script" />
//]]>
</script>
</dd>
</mt:ifArchiveTypeEnabled>
★「月別アーカイブ」ウィジェットテンプレート(デフォルトテンプレート)
折りたたみ用のマークアップ追加箇所は、008/009/021/022/046~050です。FoldNavigationの生成は、012~014と025~027で行っています。
001:<mt:IfArchiveTypeEnabled archive_type="Monthly">
002: <mt:ArchiveList archive_type="Monthly">
003: <mt:ArchiveListHeader>
004:<div class="widget-archive-monthly widget-archive widget">
005: <h3 class="widget-header"><$mt:ArchiveTypeLabel$> <a href="<$mt:Link template="archive_index"$>">アーカイブ</a></h3>
006: <div class="widget-content">
007: <ul class="widget-list">
008: <li class="widget-list-item"><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:archiveDate format="%Y年" /></span></div>
009: <ul id="archive<mt:archiveDate format="%Y" />list" class="widget-list tree">
010: <mt:archiveDate format="%Y年" setvar="year" />
011: <mt:setVar name="flag" value="1" />
012: <mt:setVarBlock name="monthly_fold_script">
013: FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
014: </mt:setVarBlock>
015: </mt:ArchiveListHeader>
016: <mt:archiveDate format="%Y年" setvar="current_year" />
017: <mt:if name="current_year" ne="$year">
018: <mt:getVar name="monthly_list" />
019: </ul>
020: </li>
021: <li class="widget-list-item"><div id="archive<mt:archiveDate format="%Y" />name"><span><mt:getVar name="current_year" /></span></div>
022: <ul class="widget-list tree" id="archive<mt:archiveDate format="%Y" />list" class="tree">
023: <mt:setVar name="monthly_list" value="" />
024: <mt:setVar name="flag" value="1" />
025: <mt:setVarBlock name="monthly_fold_script" prepend="1">
026: FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
027: </mt:setVarBlock>
028: </mt:if>
029: <mt:setVarBlock name="monthly_list" prepend="1">
030: <li class="widget-list-item tree-list<mt:if name="flag"> tree-list-end</mt:if>"><a href="<mt:archiveLink />"><mt:archiveTitle regex_replace="/\d+年/","" /></a> [<mt:archiveCount />]</li>
031: </mt:setVarBlock>
032: <mt:setVar name="flag" value="0" />
033: <mt:if name="__last__">
034: <mt:getVar name="monthly_list" />
035: <mt:else>
036: <mt:getVar name="current_year" setvar="year" />
037: </mt:if>
038: <mt:ArchiveListFooter>
039: </ul>
040: </li>
041: </ul>
042: </div>
043: </mt:ArchiveListFooter>
044: </mt:ArchiveList>
045:</div>
046:<script type="text/javascript">
047://<![CDATA[
048:<mt:getVar name="monthly_fold_script" />
049://]]>
050:</script>
051:</mt:IfArchiveTypeEnabled>