まだ、わかんないこと多いけど、とりあえず、ここまでのことを忘れないためのメモ
■既存のグラフのパラメータを変える
SugarCRMでグラフは、ダッシュボードに表示される(ダッシュボードを選択すると、4つのグラフが出る)。
この表示しているグラフの対象期間やステージなどを変えたい場合は、グラフ右上のeditのところをクリックすれば、変更できる。
グラフ表示の順番をかえるときは、右上の↑↓で、上下する
表示したくないときは、Xをクリックすると、表示せず、上のAdd a Chartのコンボボックスにグラフ名が追加されて、画面上からは表示されなくなる
それを再表示させたいところは、そのコンボボックスから、そのグラフを選択する。
■新規に自分が作ったグラフを追加、表示させる。
英語だけど、
How to create new chart?
http://www.sugarcrm.com/forums/showthread.php?t=11286t
がとても、参考になる。そこにかかれているとおりにやってみます。
(番号は、上記のサイトのものと、あわせていますが、
訳ではなく、情報を追加してます。分かりにくいところは)
<<手順>>
(1)Sugarをインストールしたフォルダのした、modules/Charts/codeに、
各種のグラフがあるので、
(2)そこから似てるのをコピーして、名前をかえる。
(3)そしたら、そのフォルダにある、predefined_charts.phpを開き、
arrayのところに、いまのやつを追加する(もとのやつを元に、
名前を(2)のやつにかえて、追加)
(4)(2)でコピーしたファイルを開き、元の名前になっているところ
を新しくした名前にかえる。
たぶん、クラス名と、コンストラクタ。
それと、
$cache_file_name = $current_user->getUserPrivGuid
()."_前のファイルに関係した名前_".$dateFileNameSafe[0]."_".$dateFileNameSafe
[1].".xml";
という行がある。そこの「前のファイルに関係した名前」のところを書き換える
(書き換えないと、前のファイルのデータを見に行ってしまう)
さらに、LBL_ではじまる、ラベルの部分をテキトーにかえる
((5)と対応させる)
(5)modules/Charts/language/en_us.lang.php、その他もろもろの言語ファイル
に対して、(4)で、書き換えたもののことばを追加する。
(6)ここで、SugarCRMをたちあげて、ダッシュボードを開くと。。
(7)上記「既存のグラフのパラメータを変える」のところで書いた、
コンボボックスにグラフ名が追加されているはず。
(8)なので、それを選択すると、自分で作ったものが表示される。
とはいっても、ここまででは、なにも、グラフを編集していない。
ここから先が問題。そのまえに。。。
■グラフの基礎知識
ダッシュボードで表示しているグラフは、SugarCRMのフォームの下、
cache/xmlに、以下の名前(さっきの$cache_file_nameで設定したやつ)で
データが入っている
操作してる人のGUID_(4)で変えた名前_日付1_日付2.xml
そして、表示するときは、このファイル名をもとめ、あったらそれを表示し、なかったら、新規作成する。グラフごとに「(4)で変えた名前」は、違うので、対象者にあった、グラフに合ったデータを表示できるってわけ。
ここで、Editでデータの範囲などを変えたりした場合は、このXMLファイルが再度作られる(なので、最新の指定内容が表示できる)。
さてこのとき、そのXMLファイルを作るところを修正すれば、それにあったグラフが表示できることになる。これは、(4)で直していたファイル(=コピーして名前を変えたファイル)の、gen_xmlで行っている。
■新規に自分が作ったグラフを追加、表示させる(続き)
(9)ここで、(4)で修正していたファイルをもう一度開き、
下のほうにある関数gen_xmlを表示して、そこを、検索したいように、
好きなようになおす。
(select文を発行しているところなど)
なお、グラフは、((10)で書きますが、)SugarCRMのフォルダの下、
include/chartsの下にある、Flashのものは、用意されています。。
(swfとflaがあるもの。hbar,Vbar,line,pieなどありますね)
が、これ以外のモノを使いたかっらら、自分で用意することになります。
グラフに合わせてXMLを書き出すことになります。
(10)その(9)のgen_xml関数の一番下のほうに、
$return = create_chart('pieF',$cache_file_name);
のように、チャートを(上記ではpieF)指定するところがあるので、
そこを、自分の表示したい図にします(XMLが、それ用にかかれていないと、
真っ黒になっちゃったりもしますので、注意)
(11)もし、(9)で、奇特にも、フラッシュで、新しいグラフを作っちゃった
人はSugarCRMのフォルダの下、include/chartsの下に入れてね(^^)
こんなかんじ。で、実際に、既存のグラフをコピーし、適当に名前を変えて、(8)までやってうまくいったけど。。(9)以降、そのgen_xmlを直すところが難しい(^^;)
ので、また、そのへん、ウィリアムのいたずらが進化したら、報告します。