ホーム >> 左脳Script >> Movable Type >> 小技 >> パンくずリスト ~ウェブページ編~

パンくずリスト ~ウェブページ編~


前の記事では、普通のブログ記事とアーカイブ関連を含めた範囲での「パンくずリスト」の実装をしました。
今回は、ウェブページでのパンくずリストの実現に、やや難儀したので一応作業記述を残しておきます。

実は、左脳ActionScript3では、コンテンツの殆どがウェブページで作られていました。(チョっとサイトの作り方を間違えた気がして後悔気味)

このウェブページがメインのサイトの場合、パンくずリストの作り方が、相当サイトの構造に左右される事になります。

ウェブページでサイトを作る場合、ページをフォルダで管理することになりますが、以下のような条件でウェブページを作って行くと、後々楽に管理できるようになります。

  • ウェブページのアーカイブマッピングを「folder_path/page_basename/index.html」とする。
  • フォルダ作成時には、フォルダのパスと該当ページの保存名を完全に一致させる。

    これは「ウェブページが所属するフォルダのパスを指定するだけで、階層を戻ったページにアクセス出来る様に」という配慮の為。

    例えば、「配列」という記事は、フォルダが
    "http://n-yagi.0r2.net/as3/reference/expression/type/composite/"
    で、ページの保存名が"array"となっています。その為、記事のURLは
    "http://n-yagi.0r2.net/as3/reference/expression/type/composite/array/"
    になります。

    その上の階層の記事「コンポジット型」では、URLが
    "http://n-yagi.0r2.net/as3/reference/expression/type/composite/"
    という具合になっていて、記事「配列」ではフォルダのパスを辿るだけで、階層を一つ戻る事が出来る様に作られています。

  • ブログ記事のアーカイブマッピングを「category/sub_category/entry_basename/index.html」とする。

    <$MTSubCategoryPath$>を使うことにより、これも直接上階層に移動出来る様にする目的があります。

  • 該当のフォルダの表示名カテゴリ表示名ウェブページの表示名(題名)と合わせる必要があります。

  • 上記の設定の副作用を回避する為、カテゴリーアーカイブを削除しました。

    もし、カテゴリーアーカイブが必要な場合は、アーカイブマッピングをカスタム設定にし「category/sub_category/index.html」以外の形、例えば「%c_/arichive/%i」等の、ブログ記事、ウェブページ、と重複し得ない設定にする必要があります。


以上の前提の上で、以下のようにパンくずリスト用テンプレートを作りました。

<div><a href="/" title="to Home">ホーム</a> &gt;&gt; 
<mt:if name="main_index"><mt:ignore>ブログトップ</mt:ignore>
 <$mt:BlogName encode_html="1"$>

<mt:else><mt:ignore>ブログトップ以外</mt:ignore>
 <a href="<$mt:BlogURL$>" accesskey="1"><$mt:BlogName encode_html="1"$></a>

 <mt:if name="archive_index"><mt:ignore>アーカイブインデックス</mt:ignore>
   &gt;&gt; アーカイブ
 </mt:if>

 <mt:ifarchivetype archive_type="Monthly"><mt:ignore>月別アーカイブ</mt:ignore> &gt;&gt; 
  <$mt:archivetitle$>
 </mt:ifarchivetype>

 <mt:ifarchivetype archive_type="Individual"><mt:ignore>ブログ記事</mt:ignore> &gt;&gt; 
  <mt:parentcategories>
   <mt:ifnonzero tag="MTCategoryCount"><a href="<$mt:blogurl$><$MTSubCategoryPath$>/"></mt:ifnonzero>
    <$mt:categorylabel$>
   <mt:ifnonzero tag="MTCategoryCount"></a></mt:ifnonzero>
   &gt;&gt; 
  </mt:parentcategories>
  <$mt:EntryTitle$>
 </mt:ifarchivetype>

 <mt:ifarchivetype archive_type="page"><mt:ignore>ウェブページ</mt:ignore> &gt;&gt; 
  <mt:parentfolders>
   <a href="<$mt:blogurl$><$mt:folderpath$>/"><$mt:folderlabel$></a>
   &gt;&gt;
  </mt:parentfolders>
  <$mt:PageTitle$>
 </mt:ifarchivetype>

</mt:if>
</div>



実は、フォルダの表示名をウェブページと合わせた事で、ある不具合が発覚したのですが、それは、別の記事で取り上げたいと思います。




トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/91

コメントする

ホーム >> 左脳Script >> Movable Type >> 小技 >> パンくずリスト ~ウェブページ編~

アーカイブ

このブログ記事について

このページは、n-yagiが2009年5月19日 22:59に書いたブログ記事です。

ひとつ前のブログ記事は「パンくずリスト」です。

次のブログ記事は「mtPages 不具合(Movable Type 4.25」です。

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

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。