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&#24180;" /></span></div>
      <ul id="archive<mt:archiveDate format="%Y" />list" class="tree">
      <mt:archiveDate format="%Y&#24180;" setvar="year" />
      <mt:setVarBlock name="monthly_fold_script">
        FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
      </mt:setVarBlock>
    </mt:archiveListHeader>
    <mt:archiveDate format="%Y&#24180;" 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+&#24180;/","" /></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&#24180;" /></span></div>
009:        <ul id="archive<mt:archiveDate format="%Y" />list" class="widget-list tree">
010:      <mt:archiveDate format="%Y&#24180;" 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&#24180;" 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+&#24180;/","" /> (<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&#24180;" /></span></div>
      <ul id="archive<mt:archiveDate format="%Y" />list" class="tree">
      <mt:archiveDate format="%Y&#24180;" 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&#24180;" 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+&#24180;/","" /></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&#24180;" /></span></div>
009:        <ul id="archive<mt:archiveDate format="%Y" />list" class="widget-list tree">
010:      <mt:archiveDate format="%Y&#24180;" 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&#24180;" 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+&#24180;/","" /></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>

ウェブページ

Powered by Movable Type 4.261

このアーカイブについて

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。