You need to sign in to do that
Don't have an account?

VisualForceでダッシュボードページのレイアウトを変えたものを作る際のStandardControllerの指定について
標準のダッシュボードページのフィードが長く見づらくなったので、フィードを右に・ダッシュボードのコンポーネント群を左に配置するようなVisualforceページを作ろうと思っています。
商談であれば下記のようにスタイルシートと組み合わせ standardController="Opportunity" で apex:detail,relatedlist,chatter:feed を並べますが、これをダッシュボードでも出来るでしょうか?
<apex:page standardController="Opportunity" sidebar="false">
<style type="text/css">
#contents {
border: 1px solid #FF9900;
}
#center {
float: left;
width : 750px ;
border: 1px solid #FF9900;
margin : 5px auto;
}
#right {
float: right;
width : 500px ;
border: 1px solid #FF9900;
margin : 5px auto;
}
</style>
<div id="contents">
<div id="center">
<div id="ObjectActions">
<apex:detail title="false" />
</div>
</div>
<div id="right">
<chatter:followers entityId="{!Opportunity.ID}"></chatter:followers>
<div id="ObjectActivity">
<h2>chatterフィード</h2>
<chatter:follow entityId="{!Opportunity.ID}"></chatter:follow>
<chatter:feed entityId="{!Opportunity.ID}"></chatter:feed>
</div>
</div>
</div>
</apex:page>
商談であれば下記のようにスタイルシートと組み合わせ standardController="Opportunity" で apex:detail,relatedlist,chatter:feed を並べますが、これをダッシュボードでも出来るでしょうか?
<apex:page standardController="Opportunity" sidebar="false">
<style type="text/css">
#contents {
border: 1px solid #FF9900;
}
#center {
float: left;
width : 750px ;
border: 1px solid #FF9900;
margin : 5px auto;
}
#right {
float: right;
width : 500px ;
border: 1px solid #FF9900;
margin : 5px auto;
}
</style>
<div id="contents">
<div id="center">
<div id="ObjectActions">
<apex:detail title="false" />
</div>
</div>
<div id="right">
<chatter:followers entityId="{!Opportunity.ID}"></chatter:followers>
<div id="ObjectActivity">
<h2>chatterフィード</h2>
<chatter:follow entityId="{!Opportunity.ID}"></chatter:follow>
<chatter:feed entityId="{!Opportunity.ID}"></chatter:feed>
</div>
</div>
</div>
</apex:page>
ひとまず、standardController="Dashboard"のような指定自体は利用できるみたいです。
通常のVisualforceページにダッシュボードのグラフを表示させることはできないと思います。
(グラフを自分で実装する必要があったはずです)
ダッシュボードにはVisualforceを埋め込む機能が用意されています。なのでこれで対応できそうかなと思いました。
ですが、埋め込まれたVisualforceページからはダッシュボードページのIDを取得することができないみたいです。
ID部分を固定文字列で試したときはきちんと認識されたのでchatterタグ自体は利用できそうでした。
standardControllerに頼らず自作のcontrollerを用意する方法も試してみました。controller側で用意した文字列はページ側に渡すことが出来ましたが、やはりダッシュボードIDの取得が難しそうです。。
最後にapex:detailタグはダッシュボードページの情報を取得できないみたいです。
もしかすると何かいい解決方法があるかもしれませんが、自分が試してみた感じではちょっと難しそうに感じました。
最近のPCは横幅が広いので、横に並べて表示できれば見やすいのになと思い質問しました。
コンポーネントとしてChatterの表示も選択肢として検討させて頂きます。
もう少しこのスレッドはオープンにしておきます。