ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

SugarCRM 4.5のカスタマイズのまとめ(6)。

2008-01-29 15:57:38 | SugarCRM

 シリーズSugarCRM 4.5のカスタマイズのまとめ、6回目の今回は、SugarBeanを継承”する”場合についての、のこりのファイルです。

SugarBeanを継承”する”場合、以下のファイルが必要になります。

(1)SugarBeanを継承しない場合にも必要なファイルたち
(2)データベース操作関連
    モジュール名.php,vardefs.php,Save.php,Delete.phpなど
(3)表示関連
    (3-1)一覧表示(ListView)と、検索
    (3-2)詳細画面
    (3-3)編集画面
(4)他のと関連
    (4-1)サブパネル
    (4-2)ポップアップ
    (4-3)ダッシュレットなど、

 前回までで(3)は説明したので、今回は(4)についてです。
 なお、今回取り上げる多くのドキュメントは
 ここ http://www.sugarforge.org/frs/?group_id=20&release_id=253
 に一覧があります。


■(4-1)サブパネル
 サブパネルについて、これが記載されているドキュメント(PDF)
SugarCRM Edit or Create Subpanels.pdf
http://dl.sugarforge.org/sugardocs/Notes/DeveloperNotes/SugarCRM_Edit_or_Create_Subpanels.pdf

をみると、ほとんど、リレーションの張り方(つまりverdefsのところで説明したような)しか、書いていない・・なぜかというと、実は、サブパネルは、呼ばれるモジュールのsubpanels/default.phpに記載されていて、他のやつを呼び出そうとしなければ、まあ、これが呼ばれる。

 そして、ここでは、$subpanel_layoutを指定するけど、詳しくは、なにかのモジュールを開いて、そのdefault.phpをみてください(list_fieldsは、サブパネルのリストに表示する項目です。それ以外は説明無しでも分かると思います)




■(4-2)ポップアップ

 他のモジュールから選ぶときなど、ポップアップが出てきます。
 このpopupは、popup.phpと、Popup_picker.phpから構成されます。popup.phpは、Popup_picker.phpを呼ぶだけで、実際にはPopup_picker.phpで書き出され、とくにPopup_picker.phpのprocess_page()で実際に記述しています。

 ただ、検索対象をセットするのは、このPopup_picker.phpではなく、ポップアップを出すEditView.phpの$popup_request_dataとかの中の、field_to_name_arrayで設定します。




■(4-3)ダッシュレットなど、

 ホームのページにみえるリストやグラフがダッシュレットです。モジュールのDashletsフォルダに設定するのですが、これについては、
SugarDashletsAndYou v0.9.pdf
http://dl.sugarforge.org/sugardocs/Notes/SugarDashletsDocumentation/SugarDashletsAndYou-v0.9.pdf

とか、SugarCRM Developer's Manualの43ページからを見てください。





■このほか

 モジュールの中のtplsは昔のバージョンでは見てたけど、4.5では見てなかったと思います(思い違いだったらごめん)。
 テーマに関しては、ここではなく、(Modulesでもなく)Sugarのホームの下のthemesの下をなおします。
 テーマに関して詳しくは、
SugarCRM Create New Themes.rtf
http://dl.sugarforge.org/sugardocs/Notes/DeveloperNotes/SugarCRM_Create_New_Themes.rtf

(注意:RTFファイルです)
か、SugarCRM Developer's Manualの21ページからを見てください。




ってことで、次回は、SugarBeanを継承”する”場合のインストーラーを”使わない”場合のインストールについて




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

LinuxデスクトップのKDEのQtなんかのTrollTechをNokiaが買収!って、KDEは?

2008-01-29 13:26:23 | Weblog

ここのニュース
Nokia、TrollTechをTOBで買収へ
http://www.itmedia.co.jp/news/articles/0801/28/news096.html

によると(以下斜体は上記サイトより引用)


フィンランドの携帯電話メーカーNokiaは1月28日、ソフト開発プラットフォームを手掛けるノルウェーのTrollTechをTOB(公開株式買い付け)で買収することで合意したと発表した。

 TrollTechはクロスプラットフォームのGUIツールキット「Qt」およびLinuxベースのアプリケーションプラットフォーム「Qtopia」を開発している。


って、あのLinuxデスクトップのKDEのもとになってるQtライブラリ出してる、TrollTechだよねえ・・
KDEとか、どーなっちゃうの(@_@!)

・・・と思ったら・・


 NokiaはTrollTechの製品の開発とサポートを継続し、今後も引き続きTrollTech技術を商用ライセンスとオープンソースライセンスの両方でライセンス供与する計画だ。

ま、大丈夫そうだ(^^;)

P.S うん、じゃあ、Nokiaは「Qtopia」、androidには、参加しないのかしら・・どーなんだろう??


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

グーグルケータイOS、androidのお勉強(5)-画面を作る

2008-01-29 11:28:39 | ケータイ

 わすれかけていた、シリーズ「グーグルケータイOS、androidのお勉強」、久々にやりたいと思います。

 前回までは、こんなかんじ

1回:概要
2回:サンプルダウンロード
3回:サンプルプロジェクト作成
4回:DB部分

で、今回は画面なのですが、手元にコンパイル、実行できる環境がないので、説明と完成品(これはサンプルの中にある。Notepadv1Solutionがそれ)




■画面の作り方(1)=画面レイアウトのXMLファイルを作成する

 これ以外の作成方法もあるかもしれません。しかし、今回は、説明に書かれている方法に沿って書きます。
 Step4と5のところです。

 まず、画面レイアウトのXMLファイルを作成します。
 これは、フォルダ”アプレットのフォルダ/res/layout”の下にあります。
 サンプルの場合、アプレットがNotepadv1なので、Notepadv1/res/layout/notepad_list.xmlがそれに相当します。なお、このファイル名notepad_listは、R.javaのlayoutクラス内で宣言され、Notepadv1クラスのonCreateのsetContentViewでセットされます。
 で、その中身は、こんなかんじ

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

  <ListView id="@id/android:list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
  <TextView id="@id/android:empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/no_notes"/>

</LinearLayout>

(上記< > ¥は、本当は半角 チュートリアルのStep4から引用)

 LinearLayoutで全体を定義、その中にListView(リスト)と、TextView(テキスト入力箇所)があることを宣言しています。ListViewでidをandroid:listとしていますが、このandroid:listで、リストのアダプタを使うよと分かるようです。なお、TextViewで初期値をandroid:text="@string/no_notes"/としていますが、このno_notesとか、文字列の宣言は、アプレットのフォルダ/res/valuesのstrings.xml、つまりNotepadv1/res/values/strings.xmlに宣言してあります。
 あと、位置はwrap_contentって書くと、適当にやってくれる??




■画面の作り方(2)= リストの行のXMLファイルを作成する

 で、テキストの初期値はいいのですが、リストの初期値は?ということになりますと、フォルダ”アプレットのフォルダ/res/layout”の下にある、notes_row.xmlに記述します。
 サンプルの場合、アプレットがNotepadv1なので、Notepadv1/res/layout/notes_row.xmlを作成します。
(完成品のNotepadv1Solutionには、すでにあります)。
 そして、R.javaのlayoutクラスに

public static final int notes_row=0x7f030001;

 と追加して、onCreateや、追加されたとき(onOptionsItemSelectedのIDがINSERT_IDなど)で呼ぶのですが、それはStep8以降の話なので、今回は置いておいて、まず、その作成するnotes_row.xmlの中身を書きます。こんなかんじ
<?xml version="1.0" encoding="utf-8"?>
<TextView id="@+id/text1"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

(上記< > ¥は、本当は半角 チュートリアルのStep5から引用)
行1行分はTextViewってことで、これしかないんですけど、そこで書いてある、@idの前の+は、その名前のIDがすでにあったら、テキトーに新しい名前を振って、追加してくれるみたい。




ってことで、画面はここまで。次はStep6



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする