「その他tool」の編集履歴(バックアップ)一覧に戻る

その他tool - (2011/03/09 (水) 14:49:43) の編集履歴(バックアップ)


phplayersmenuの覚え

階層構造のメニューをつくることができる便利 なライブラリーhttp://phplayersmenu.sourceforge.net/ があります。最近使い始めました。 メニューを選んだら、別ウインドウにリンク先を開くようにしたかったんですが、 ようやく分かりました。 設定ファイルで設定可能です。 設定ファイルは基本的にコマンド間を「|」で区切ればok。 並び順は

|メニュー名|リンク|マウスを当てたときの表示|表示に使うアイコン|別ウィンドウか

のようで、別ウィンドウかどうかのところに「DOM」と書き込めばok。 なんと便利な... すばらしい。

HTML_QuickFormのaddFormRuleにクラスの関数を渡す

HTML_QuickFormを使ってvalidationにaddFormRuleを使っています。 今までは単に関数しか渡してなかったのですが、 mojavi3を使っていて関数の中でModelをコールしたくなりました。 具体的には

$context =& $this->getContext();
$model = $context->getController()->getGlobalModel('Ps');

を呼び出したかった。 しかし、addFormRuleにクラスを渡す方法がわからなくて苦労しました。 解決法はcall_user_funcの使い方を見て納得。以下のように

$va = new _vA();
$va->initialize($this->context);
$form->addFormRule(array(&$va,'_validate_Action'));

するとクラスで定義した関数が渡せました。 自作した_vAクラスはMojaviObjectを継承して、initialize関数でcontextを受取ます。 こうすると自作クラスでも値の取得が簡単になりました。

HTML_QuickFormのselect element

HTML_QuickFormのselect elementでバグがありますね。 select項目に渡す配列の中に例えばarray('0'=>'例題0','1'=>'例題1')というふうに '0'が入っていると値は1を渡していても、表示が例題0となります。 常に'0'の表示がされるようです。 select.phpのfunction getFrozenHtml()をみると、ありました問題の部分 515行目あたりに

if ($val == $this->_options[$i]['attr']['value']) {

$valはselectに渡された値で、$this->options[$i]['attr']['value']は先ほどの配列。 比較を==で行っているので問題があったようですね。 ==を===に修正したら、ちゃんと動くようになりました。 もしかしたら、私が使っているHTML_QuickFormのバージョンが低いのかもしれません? 1時間ほど考えました。

mojavi3でcsvファイルをexport

mojavi3を使ってcsvファイルをexportするプログラムを作っています。 ダイアログはでるんですが、ファイルがありませんとなりました。 解決方法がhttp://melrose.jugem.cc/?eid=322にありました。 私が設定していたheaderのほかに2つ書き加えたらできました。

header("Cache-Control: public");
header("Pragma: public");

header("Content-Type: application/octet-stream");
header("Content-Disposition: inline; filename=$filename");
header("Content-Type: application/vnd.ms-excel");

これで、指定した検索条件で画面表示とcsvでのデータ出力ができる見込み。 stroll様に感謝

Excelで開くと1列目にデータが固まって表示されるのを解除する 2009/10/29

上記headerではうまく開かないので改善

$filename = date('YmdHis',time()).'.csv';
header("Content-type: application/x-csv");
header("Content-Disposition: attachment;filename=$filename");

これで「読み取り専用」にもならず、意図した通りになりました。

php関係

JavaScript関係

ファイルフォーマット

バックアップ

bcp SQLServerツール

  • [bcp]
人気記事ランキング
目安箱バナー