[salesforce]カスタマーポータル上でサイドバーを非表示にする

By |3月 18, 2010|salesforce, |


普通のSalesforceの画面でサイドバーを非表示にするには、[設定]→[カスタマイズ]→[ユーザインターフェイス]から「折りたたみ可能なサイドバーの有効化にチェックを入れることでサイドバーを折りたたみ可能な状態にすることができます。

Visualforceページでサイドバーを非表示にするには、<apex:page>タグの属性値でsidebar=falseとすることで設定できます。

なのですが、これがカスタマーポータルの話になった場合、カスタマーポータル上の非Visualforceページでサイドバーを非表示にしようとした場合、「折りたたみ可能なサイドバーの有効化が機能してくれません。設定をしても折りたたみボタンが出てきてくれません。Visualforceページを作ってしまえばsidebar=falseで対応できるのですが、標準ページでサイドバーを非表示にするには一工夫必要です。

カスタマーポータル上の非Visualforceページでサイドバーを非表示にするには、CSSでサイドバー領域を非表示に指定するのがたぶん一番楽です。

[css]
#sidebarDiv{
display:none;
}
[/css]

こんな感じ。これをカスタマーポータルのヘッダーHTMLから読み込むようにします。

カスタマーポータル全体ではなく特定の非Visualforceでサイドバーを非表示にしたい場合は、上記CSSをJSから読み込むようにしておいてJS内で特定URLの呼び出し時だけCSSを適用するようにすれば大丈夫です。