メインコンテンツに移動
やりたいこと:特定なページでサイトバーの非表示
- 特定なページ(特定なURL)でページの一部分を非表示させたいことがよくあります
- サイトバーを非表示するには、ブロック設定でサイトバーに表示する内容を非表示すます
- モジュール:Contextで特定なページ(特定のURL)でサイトバーを非表示します
- テンプレートファイル(page.tpl.php)で、サイトバーに関する変数($header and $header2)を条件付きで表示するようにカスタマイズします
解決1:ブロック設定でサイトバーの非表示
- ブロック設定(ホーム » 管理 » サイト構築 » ブロック)でサイトバー(First Sitebar)にすべてのコンテンツを特定なURLで非表示設定
- すべてのコンテンツが表示されなければ、サイトバーが表示されなくります。
- ブロック設定がDrupal7のCoreにあるので、ほかのモジュール追加の必要はありませんが、全コンテンツでの設定が必要です
解決2:Contextモジュールでサイトバーの非表示
ブロック設定とContext設定の比較
- 一度設定すれば良いので、ブロック設定管理より手軽となります
- 一つのブロックに2か所(ブロック、Context)で管理すると、後ほど設定が忘れがちになり、一か所で設定したほう良いでしょう。
解決3:プログラミングで設定
- テンプレートファイル:page.tpl.phpでサイトバーに関する変数($header and $header2)を条件付きで表示するようにカスタマイズします
- 管理画面で表設定変更ができるならば、プログラミングで設定があまりお勧めしません(具体的なプログラムを省略)