石輪っぷり!
MT4のウェブページでパンくずリストを作る
2007年11月 1日 23時20分 | コメント(0) | トラックバック(0)
※この投稿は180日以上前のものです。最新の情報とは異なる場合があります。
様々な機能が追加され、インターフェースも一新された Movable Type 4。標準のテンプレートの仕組みも変わって各部品がモジュール化され、いくつもの新たなMTタグが追加されています。
今まで MT3.3x のカスタマイズにはかなり慣れていましたが、現在初の MT4 を使ったサイトの構築を手がけており、また一から勉強です。
さて、MT4で新たに実装された機能の一つに、ウェブページの作成があります。これは、ブログではない、静的なページをブログのエントリーのように簡単に作れるというもの。
この機能で作った各ページに、テンプレートからパンくずリストを生成したいと思い、ググってみましたが私が意図するとおりに生成できる仕組みはなく、試行錯誤で作ってみました。
ウェブページの構成は、一つのフォルダの中には必ず index.html が存在し、同じフォルダにその他のhtml も存在するものとます。今回の場合、サブフォルダは考えていません。
index.html では、"トップ(リンク) > ページタイトル"、その他のhtml では、"トップ(リンク) > フォルダの名前(index.htmlにリンク) > ページタイトル"というパンくずナビを生成したいと考えました。
結論として、ウェブページのアーカイブテンプレートでまず、
<MTSetVarBlock name="file_name"><$MTPageBasename$></MTSetVarBlock>
として、ウェブページのファイル名を変数として取得します。(MT4で新たに追加されたタグの一つ)
これをもとにパンくずリストを表示する部分に、
<p class="topic-path"><a href="<$MTBlogURL$>">トップ</a><MTIf name="file_name" ne="index"> > <a href="<$MTBlogURL$><$MTFolderBasename$>/"><$MTFolderLabel$></a></MTIf> > <$MTPageTitle$></p>
と記述します。
つまり、<MTSetVarBlock>で取得した値が"index"と一致しなければ、"ブログURL/フォルダ名/(index.html)"へのリンクをフォルダの表示名に設定してトップと現在のページ間に表示するというわけです。
ただし、これはウェブページが何らかのフォルダに属している場合に有効で、ルート直下にある場合は使えません。・・・ってことに、このエントリーを書きながら気がつきました。
今回のサイトはこれで何とかなりそうですが、今後のためにまた考え直さなければ。
トラックバック(0件)
- :
- « 前の記事
- 書籍『Webアクセシビリティ』
- 次の記事 »
- MT4のテンプレートでタグがHTMLエンコードされる

コメント(0件)
コメントする