今回は、「表示している個別ページによってサイドバーを変更する」という課題について。
たとえば、「建設、産廃、宅建」に、それぞれ10ずつのページがあるとします。それをすべてサイドバーに並べたとしたら、下の方にある宅建のページを選択するためには、いちいち画面をスクロールしなければなりません。そこで、業務ごとにサイドバーを変更して、宅建のページを開いているときには、関連するページだけを表示できるようにしてみようかと。
ようは、こんなイメージです。
これについては、あまり専門的な知識がなくても、「宅建」や「建設」などのテンプレートを用意し、それぞれ表示させるサイドバーを指定しておけば解決できます。業種ごとにナビゲーションバーなどの色を変えているのと同じ要領ですね。
赤枠内を変更します
ただ、この方法だとテンプレートの数が多くなってしまい、管理するのが面倒です。
そこで、PHPを利用して、条件によって表示させるサイドバーを指定してみました。
3行目と11行目からの数行で、ページが「宅建業(id=243)」の場合にはメニュー(6)を、「建設業(id=220)」の場合にはメニュー(7)を表示させる指定をしています。
そして、7行目と15行目では、それぞれの子ページに対しても同じ指定をしています。この方法は新しく覚えました。もしかすると3行目と7行目をまとめられるのかもしれませんが。
ちなみに、メニュー(6)や(7)というのは、これのことです。
そして、中身はこんな感じになっています。
結果はこうなりました。
宅建業(子ページ)
建設業(親ページ)
じっさいに投稿してみないとページのidはわからないので、ローカル環境での設定はこのあたりにしておきます。
あとは細かい点を調整して、それ以降は公開してからの作業になりそうです。
専門サイト制作日記06

コメントを残す