今回、管理側で指定した地図の場所を公開側で表示させる仕様のお仕事が来たのでグーグルマップを取り入れました。
CakePHPでinputの名前で5層に対応する
CakePHPで配列で指定したinputに$this->dataが連動してくれる
helperのありがたい機能を使っていたのですが、
<?php echo $form->input(“Part.1.element.1.radio”, array(‘type’=>’text’)); ?>
という感じの5層構造になるとデータの引継ぎをしてくれません。
helperの対応しているのは4層までみたいです。
困ったということで調べてみるのですが、これという記事が見つからないので
自分でカスタマイズして5層でもデータがやり取りできるようにしました。
pChartで棒グラフを描きました。
pChartでレーダーチャートを描きました。
グラフを必要とするお仕事があり、JPgraphとpChartを候補にあげました。しかし、JPgraphは、有償なので対象からはずれ、pChartで作成することになりました。
通常はviewsを作成して表示するのですが、
このサンプルでは、controllerで表示するように記述しています。
cakephp\app\vendors\pChartにダウンロードしてきたpChart.1.27d.rarの展開したものをコピーします。
TMP.”graph/”のフォルダを作成して書き込み権限をあたえてください。
wdCalenderが本番サーバーで動かない
wdCalenderをローカル環境で動かしていて、実際本番環境にUPした時に動かなくなってテンパッタのでメモとしてブログに残しておきます。
症状としてはテスト環境では動くのに本番環境では動かないというもの。
jqueryに頼っているので実際動かないと、どう調査をしたらいいか分からずとりあえず、FireBugで追っかけていきます。
するとどうもテストでは値が入っている所に、本番では入っていないということが分かりました。しかもJSON形式のデータが・・・
JSON形式のデータ???んっ!!以前phpのjson_encodeはphpのバージョンに依存するなというのに、はまった事があるなということで調べるとビンゴでJSONが使えるPHPのバージョンは5.2以上ということ。
本番サーバーではphpのバージョンが5.1.6だったので早速5.1.6でもJSONが使えるように「http://www.softel.co.jp/blogs/tech/archives/973」を参考にサーバーの設定を変更!!
これで動くかなと思っていたのですが動かない・・・という事でもう一度デバッグ作業をしていきます。
今度はphpの記述部分をfwrite関数を使っていって1行ずつファイルにデバッグ文を出力して追って行きます。するとある関数で処理が止まってしまっている事が分かりました。
それはdate_parse関数なのですが調べてみると、この関数が使えるのはphp5.2以上との事でして、JSONと一緒やんという顛末でした。date_parse関数のところを独自の記述に置き換えると見事動いてくれました。
基本としてwdCalenderはphp5.2以上で使うもの。それ以前で使うときは動くように自分で調整をして上げる必要ありという事でした。
CakePHPで複数prefixを使ったときのページネートの挙動を直す
前回はapp/core.phpの
Configure::write('Routing.admin', 'admin');
CakePHPでprefixを使っている時のpaginatorの挙動を直す
CakePHPでprefixを切り替えた所の開発をしていたのですが、paginatorでページ切り替えなどを行おうとすると、飛び先のURLからprefixの部分が抜け落ちておりリンクエラーになってしまいました。
これは困ったと調べてみるとcore.phpで以下の記述をすれ良いだけのこと。
Configure::write(‘Routing.admin’, ‘使っているprefix値’);
なんだかみたことがある記述だなと思っていたら、prefixをadminにして動かしたいときはcore.phpで
Configure::write(‘Routing.admin’, ‘admin’);
のコメントを外す決まりごとがあったなという事を思い出しました。しかしadmin以外のprefixを使っていたのでそこらへんの仕組みがノーマークだったため、そこそこはまりました・・・
MySQLに大量のデータをインポートする
今回レンタルサーバーの区画のMySQLに大量データを流し込まなくなったのですが、レンタルサーバーが用意してくれているphpMyAdminでは容量が大きくてインポートが出来ませんでした。
自社で管理しているサーバーであればコマンド一発で難なく出来るのですが、レンタルサーバーなものでコマンドも使えない、php.iniの値も変えれないということでどうした物かという状況になりました。
困ってググッてみたらBigDumpという便利そうなものを発見!!
詳しくはhttp://d.hatena.ne.jp/istwar/20101019/1287505139を見てもらった方が早いので説明は書かないですけど、とにかくPHPファイル1つでインポートが出来ちゃうのでどんなサーバー相手でもへっちゃらというのは素晴らしい!!
すごい重宝するので皆さんも是非使ってみてください。
TCPDFでセキュリティー設定をしたPDFを作る
この前、閲覧、印刷のみできるPDFて作れる?