2011年8月18日木曜日

AndroidでGoogle Chart ToolsのImage Charts使って円グラフを描く

以前にAFreeChart,AChartEngineを使ってAndroidアプリに円グラフを表示させてみた。
今回はGoogle Chart Tools: Image Chartsを使ってグラフを表示させてみる。

2011年8月4日木曜日

2011年8月3日水曜日

CakePHP 画像アップロード

画像のアップロード調べていて、下記ImageBehaviorを知ったので使ってみる。
[CakePHP] 画像のアップロード&リサイズを簡単にできる ImageBehavior | Sun Limited Mt.

使い方は参照元にあるので省略するが、簡単に使えて良い感じ。
ただ、findしたときに関連テーブルのimageまでは処理してくれない。
で、また調べてたら、下記記事でbelongsToに対して処理を足してたので参考にみる。
ちなみに、今回処理させたい関連はhasMany。
cakePHPのimageBehaviorについて – CEED

afterFindに処理を加えてるよう。

今回はhasManyを処理したいので、relatedModelsにhasManyもマージする。
$relatedModels = array_merge($model->belongsTo, $model->hasMany);

これだけだと動かなかった。。。
hasManyなわけで複数のときもあるので、127-130行までの処理を複数の場合を考慮する。
                        if (isset($results[$i][$relatedModelName][0])) {
                            $j=0;
                            while ( isset( $results[$i][$relatedModelName][$j] ) && is_array( $results[$i][$relatedModelName][$j] ) )  {
                                if (isset($results[$i][$relatedModelName][$j][$field]) && ($results[$i][$relatedModelName][$j][$field]!='')) {
                                    $value=$results[$i][$relatedModelName][$j][$field];
                                    $results[$i][$relatedModelName][$j][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$i][$relatedModelName][$j]);
                                }
                                $j++;
                            }
                        } else {
                            if (isset($results[$i][$relatedModelName][$field]) && ($results[$i][$relatedModelName][$field]!='')) {
                                $value=$results[$i][$relatedModelName][$field];
                                $results[$i][$relatedModelName][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$i][$relatedModelName]);
                            }
                        }
145-148行のところも同様に。
                        if (isset($results[$relatedModelName][0])) {
                            $j=0;
                            while ( isset( $results[$relatedModelName][$j] ) && is_array( $results[$relatedModelName][$j] ) )  {
                                if (isset($results[$relatedModelName][$j][$field]) && ($results[$relatedModelName][$j][$field]!='')) {
                                    $value=$results[$relatedModelName][$j][$field];
                                    $results[$relatedModelName][$j][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$relatedModelName][$j]);
                                }
                                $j++;
                            }
                        } else {
                            if (isset($results[$relatedModelName][$field]) && ($results[$relatedModelName][$field]!='')) {
                                $value=$results[$relatedModelName][$field];
                                $results[$relatedModelName][$field]=$this->__getParams($relatedModel, $field, $value,$fieldParams, $results[$relatedModelName]);
                            }
                        }

これでhasManyの関連のテーブルのimageが処理されるようになりましたっと。

2011年7月30日土曜日

PHP print_rに第二引数あったのね

超今更ながら、print_rに第2引数を渡せるのを知った。
TRUEを渡すと出力はしないで、string返してくれる。

そんだけです。

2011年7月28日木曜日

jQuery UI TabsにGoogleMap埋め込むと表示位置ズレる

GoogleMapの地図を埋め込んでみたが、どうも初期の中心地がズレる。
原因を調べていたら、どうもjQuery UI Tabsの相性(?)の問題。

2011年7月13日水曜日

jQueryMobileのボタン内のテキストを改行

jQuery Mobile使うとスマートフォンっぽいUIにしてくれるのでまぁ便利なんだけど、微妙なところの調整が良く分からない。掲題の通りで、ボタン内のテキストを改行して全てを表示させたい。デフォルトだと「…」と省略されるので。

2011年7月5日火曜日

モニタ24インチにしたら快適

今までずっと19インチモニタを使っていたのだけれど、とうとう新しいのを買った。別に壊れたわけじゃないんだけど、ネットサーフィン程度にしかPC使ってなかったのが開発もするようになって不便を感じていたため。やっぱり画面が広いと作業効率あがる。気がする。