- Force.com Discussion Boards
- :
- Developer Boards JP
- :
- ユーザインタフェース - User Interface
- :
- Re: カスタムタブの表示制御について
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
カスタムタブの表示制 御について
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-08-2012 04:13 PM
カスタムタブの表示制御についてお伺いいたします。
カスタムタブをプロファイルでなく、
ロジックで表示制御を行いたいのですが可能でしょうか?
また、可能であれば具体的なソース等があれば
ご提供いただければと思います。
ご教授のほどよろしくお願いいたします。
Solved! Go to Solution.
Re: カスタムタブの表示制 御について
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-08-2012 07:04 PM - last edited on 02-08-2012 08:15 PM
残念ながら、カスタムタブの表示するしないは、Apexなどのロジックで制御することはできないと思います
SidebarにJavascript仕込んでおいて、onloadのタイミングで該当のタブのDOMごと
代わりに良くやるのが、何かしらのロジックで各画面(タブ)へのLink表示を制御したい場合、
1,VIsualforceページTabを作成して配置
2,そのページをから、画面へのリンクを作成する
3,ページ内で、リンクをLinkを表示するかを制御する
て感じでしょうか。
例えばこんな感じのVFになります。
<apex
age >
<apex
ageBlock rendered="true">
<apex
utputLink value="https://na1.salesforce.com/{!$ObjectType.Account}/
<apex
utputText value="{!$ObjectType.Account.Label}" style="font-size:30px"/>
</apex
utputLink>
</apex
ageBlock>
<apex
ageBlock rendered="false">
<apex
utputLink value="https://na1.salesforce.com/{!$ObjectType.Opportunity}/o">
<apex
utputText value="{!$ObjectType.Opportunity.Label}" style="font-size:30px"/>
</apex
utputLink>
</apex
ageBlock>
<apex
ageBlock rendered="true">
<apex
utputLink value="https://na1.salesforce.com/{!$ObjectType.Case}/o">
<apex
utputText value="{!$ObjectType.Case.Label}" style="font-size:30px"/>
</apex
utputLink>
</apex
ageBlock>
//....続く
</apex
age>
要はタブではなく、一枚のメニューページ的なものから遷移させる感じです。
renderd属性をtrue, falseに変えることで表示されるかを変更できますので、実際はApexコントローラ側に表示するかどう
こんな感じでいかがでしょうか?
Re: カスタムタブの表示制 御について
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-08-2012 07:43 PM
お返事をいただきましてありがとうございます。
下記のvalue内容はエンドユーザ様のご契約時の環境により変わると思いますが
動的に設定することはできますでしょうか?
<apex
utputLink value="https://mokamoto-developer-edition.my.salesforce.c
URL部分(https://mokamoto-developer-edition.my.salesforce.c
エンドユーザ環境用のものとしてどこかのオブジェクトから取得などできるのでしょうか?
Re: カスタムタブの表示制 御について
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-08-2012 08:37 PM
ありゃ、失礼しました、そちらMyDomain機能を設定していた場合ですね。
原文修正しておきました。
日本のお客様向けであれば、通常ならば
<apex
utputLink value="https://ap.salesforce.com/{!$ObjectType.Account}/o">
というURLで設定できると思います。
apインスタンス以外のユーザや、My domainを設定しているユーザにも対応したい場合には
Apex側で
baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
と呼び出すことによって、現在のインスタンスに対応したURLが取得できます。
で、VF側で
<apex
utputLink value="{!baseUrl}/{!$ObjectType.Account}/o">
とすれば、取引先タブへのLinkが作成できます。
Re: カスタムタブの表示制 御について
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-08-2012 08:50 PM
早速のご回答ありがとうございます。
話がそれてしまうのですが
apインスタンス以外のユーザや、My domainを設定しているユーザとは
どのようなユーザでしょうか?
参考になるサイトなどがございましたら
ご提示いただけると助かります。
Re: カスタムタブの表示制 御について
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-15-2012 12:31 AM
こちらのサイトに、Salesforceのサービス稼働状況があります。
http://trust.salesforce.com/trust/status/
見ていただくと分かるのですが、いくつかのグループに分けてサーバ群を管理しています。
このサーバグループのことをセールスフォース・ドットコムでは"インスタンス"と呼んでいます。
例えば通常日本のお客様がSalesforceを使うと、https://ap.salesforce.com というURLが利用されます。
これは"APインスタンス"のサーバ群よりサービスが提供されていることを意味します。
これが北米の方だと https://na1.saesforce.comとかになったりします。
なるべく契約した企業の近くにインスタンスが来るように、利用開始時に振り分けます。
(ただしDeveloper EditionはNaインスタンスに固定です)
Mydomainというのは、先程の https://ap.salesforce.com/ という共通のURLではなく、
https://<企業名>.my.salesforce.com/ というURLに変更する標準機能です。
詳しくはヘルプでマイドメインと検索すると、説明があります。
https://developerforcejapan.my.salesforce.com/help
Re: カスタムタブの表示制 御について
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
02-20-2012 08:09 PM
ご説明いただきましてありがとうございます。
まだまだ知識不足でした。
ご提供いただきましたサイトを参考にさせていただきます。
ありがとうございまいした。
All rights reserved Various trademarks held by their respective owners.
General Enquiries: 415-901-7000 | Fax: 415-901-7040 | Sales: 1-800-no-software

