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

その他tool - (2009/04/21 (火) 15:56:31) のソース

-[[Jpgraph]]
**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様に感謝

*php関係
-[[LDAPによる認証]]
**JavaScript関係
-[[document.createElement img]]
人気記事ランキング
目安箱バナー