専門サイト制作日記06

今回は、「表示している個別ページによってサイドバーを変更する」という課題について。
 
たとえば、「建設、産廃、宅建」に、それぞれ10ずつのページがあるとします。それをすべてサイドバーに並べたとしたら、下の方にある宅建のページを選択するためには、いちいち画面をスクロールしなければなりません。そこで、業務ごとにサイドバーを変更して、宅建のページを開いているときには、関連するページだけを表示できるようにしてみようかと。
 
ようは、こんなイメージです。
 


これについては、あまり専門的な知識がなくても、「宅建」や「建設」などのテンプレートを用意し、それぞれ表示させるサイドバーを指定しておけば解決できます。業種ごとにナビゲーションバーなどの色を変えているのと同じ要領ですね。
 
 赤枠内を変更します

ただ、この方法だとテンプレートの数が多くなってしまい、管理するのが面倒です。
 
そこで、PHPを利用して、条件によって表示させるサイドバーを指定してみました。
 


3行目と11行目からの数行で、ページが「宅建業(id=243)」の場合にはメニュー(6)を、「建設業(id=220)」の場合にはメニュー(7)を表示させる指定をしています。
 
そして、7行目と15行目では、それぞれの子ページに対しても同じ指定をしています。この方法は新しく覚えました。もしかすると3行目と7行目をまとめられるのかもしれませんが。
 
ちなみに、メニュー(6)や(7)というのは、これのことです。
 


そして、中身はこんな感じになっています。
 


結果はこうなりました。
 
 宅建業(子ページ)

 
 建設業(親ページ)

じっさいに投稿してみないとページのidはわからないので、ローカル環境での設定はこのあたりにしておきます。
 
あとは細かい点を調整して、それ以降は公開してからの作業になりそうです。
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です