Atelier Shuhei Weblogで“phpモジュール”タグの付いているブログ記事

2006年3月24日

サイドメニューの折りたたみ

 「小粋空間」で紹介されているサイドメニューの折りたたみに挑戦した。少し難しそうなカスタマイズに思えたので、今まで敬遠をしていた。 「小粋空間」では、何回かのバージョンアップが繰り返されていて、エントリーがあちこちに飛んでいるが、丁寧に読んでいくと親切・丁寧に書かれているので、私のような初心者でもなんとか形にすることができた。月別のアーカイブはselect boxのままに置いている。 全体のバランスを考えると統一した方がよさそうだ。また、エントリ数は少ないが、サブカテゴリの折りたたみもまた時間を見て挑戦したい。
 このカスタマイズのついでにphpによるモジュール化も実施したが、アーカイブテンプレートでは、phpファイルを呼び出すのに、フルパスでないとうまくいかないようだ。
 天気がいいのに、またPCの前に座って半日を過ごしてしまった。

続きを読む "サイドメニューの折りたたみ"

2006年2月22日

MTサイトパスの変更

 2006年1月の終わり頃にレンタルサーバーlolipopを借りてMovable Typeのサイトを初めて設定した。Blogのわずかの知識だけ頼りに、何も分からず闇雲に「小粋空間」のテンプレートを導入したり、ちょこちょこしたカスタマイズをしたので、サイトがクチャクチャになってしまった。そこで、非公開のテストサイトを設けて、そこで様々な試みをすることにした。ここのサイトでのphp化などの試みがかなり上手くいったので、これを公開サイトにすることにし、blog名を変えてサイトURLやサイトパスやホームページとのリンクなどの設定を行った。このあたりは、4年前に導入した古典的ホームページ作成ソフトDreamWeaverMXのFTP管理などの助けを借りて、それほどの障害はなく移行できた。
 いざ公開して本番で、気になるリンクなどをクリックしてみると、テキスト部分では問題は無かったが、掲載している写真およびそのポップアップ写真が表示されない。エントリーの写真投稿HTML<a href=.....></a>の部分の記述が間違っていると思い、一つのエントリで、はじめからやり直したら、php化以前の表記では、.html となっていた部分がphp化後は、.php となっていることが判明した。今までの投稿は、写真日記的にほとんど写真を掲載していたから、これを直す作業は大量にある。一括で変更できる方法が見つからなかったので、はじめからやり直した結果をもとにHTML記述やファイル名の変更を行ったがポップアップ写真の部分がうまく動かなかった。どうやらMTの内部で関連する部分を書き換えているようであるが、私の知識では分からない。しかたなく、すべての掲載写真部分のHTML記述を、MTのファイルのアップロード機能を使って書き換えることになってしまった。まだエントリーが少ないが、この作業に半日もかかってしまった。(^_^;) ポップアップ写真機能を使うのはやめた方がいいのかもしれない。その方がサーバーのディスク容量に負荷をかけないこともある。

2006年2月21日

パンくずリスト

 パンくずリストは一応できた。メインページ以外の例えばカテゴリーページの上に、Top > NATURE > butterfly > ツマグロヒョウモンというような表示がされている。blogのトップページ(メイン・ページ)>NATUREカテゴリー(主カテゴリー)>butterfly(サブカテゴリー)>ツマグロヒョウモン(個別アーカイブ)という順に表示され、クリックによって、それぞれの階層に跳ぶ(jumpする)ことができる。月別表示の場合は、TOP>該当月と表示されるだけであまり意味はないが。
 このようなお遊び的カストマイズをするだけで、随分時間を使った。隠居の身だから、時間は特段惜しくないが、ずいぶん回り道をした。でもその分MTタグテンプレートなどいろいろと学習することができた。
 phpモジュール化で、個別エントリーにファイル名を自動的にユニークに設定する作業がある。例えば、2006年2月20日12時丁度に投稿するファイル名は、私の場合、http://n-shuhei.net/blog/archives/2006/02/20-120000と設定されるようになっている。これは、%Y/%m/%d-%h%m%s.phpと言う表現で、公開アーカイブ・マッピングのエントリーアーカイブの項で指定します。この最後の部分の %s 抜かすと同じ日の同じ時間帯に投稿したファイルは、同一ファイル名になってしまう。分が違うからいいだろうと思ったのですが、結果は同一ファイル名だった。原因はよく分かりません。まあ、そんなことまで発見できるようになったと慰めている。
 次回は、ブログサイト移行でひどい目に遭った話を投稿しようと思ってる。

2006年2月20日

phpモジュール化

 yujiroさんが「小粋空間」で表示されているパンくずリストを真似したくていろいろと勉強しました。

「パンくずリスト」とは、表示しているページ位置を、上位(通常トップページ)からの階層構造で表わすもので、童話「ヘンゼルとグレーテル」で、森の中で迷わないよう目印としてパンくずを落としながら歩いたということから命名されたようだ 

「小粋空間」で紹介されている方法をとるには、事前にphp化が必要ということで、php化に取り組むことになった。今から考えるとこんなちっぽけなブログサイトでは必要のないことに時間を費やしたようだ。その原因は、HPをLivedoorのBlogから始めて、それに飽きたらず古典的なHP作成をし、そして今回Movable Typeのブログサイトを作ってきたので、旧のサイトからのリダイレクトリンクを考えて、.htaccessを導入しようとしたことだ。藤本 壱さんの「MTスーパーカスタマイズテクニック」のphp化手順に従って、php化を試みたが、これがあまりうまく働かなかった。それで、.htmlから .phpへのリダイレクトは、手作業で行うことにして、 「小粋空間」でのphpモジュールの仕組みの解説にあるように、php化の目的を再構築の利便性に絞って、各主要テンプレートの共通部分のモジュール化から始めた。何回かの試行中には、parse errorとか、phpでのreadFileするfileのパスの書き方など、いろいろと学習することがあった。parse errorのほとんどは、文字コードに起因するものだった。また、fileへのパスは、フルパスを使うことが良いと分かった。これらの初心者がひっかかる部分の解説は、両者ともに、あまり詳しくないように思う。その理由は、サーバーなど環境が個々でいろいろと変わるからだと思う。それと、Movable Type3.2-jaは、リリースされてからまだ日が浅く、いろいろな蓄積が少ないこともあるようだ。
 これらの試行作業中のサーバー(lolipop)側のディレクトリーやファイルの確認には、古典的なHP作成のためのDreamWeaverMXが非常に有用だった。
 なんとかphpモジュール化の手法が理解できたので、各テンプレートの共通部分については、今後モジュール化を進める予定である。また、パンくずリスト導入への取り組みについては、次回に投稿する予定である。