Archive for 10月, 2007

Highlight image hover effect (opacity or borderize)

10月 30th, 2007

ちょっと変わったhoverイベントの書き方をしていたののがあったのでメモ
» Read more: Highlight image hover effect (opacity or borderize)

Zend_Service_Yahooをco.jpに

10月 26th, 2007

Zend_Serviceに含まれるZend_Service_YahooはAPIの飛び先がhttp://api.search.yahoo.comになっており、実際日本語サイトは全く使い物にならない。jpオプションが存在することすら疑うぐらいにw
よって改造してみたのでメモ。

» Read more: Zend_Service_Yahooをco.jpに

CSS Step Menu

10月 20th, 2007

ショッピングカートなどユーザーの入力インターフェイスによく使われるステップメニューのCSSデザイン。

http://codylindley.com/CSS/325/css-step-menu
CSS Step Menu

ダウンロードがないけど使ってもいいのかな?^^;

テーブルデザイン参考サイト

10月 19th, 2007

いろんなデザイナーが作ったテーブルデザインCSSが見れる。
cssのdownloadもできるので自分でデザインが面倒なとき、いつも似たようなデザインになってしまうときにいいかもですね。

http://www.icant.co.uk/csstablegallery/

output.jpg

Smarty html_options でonchangeイベント

10月 18th, 2007

ほんと今更ながらの話なのですが、SelectタグでonChangeイベントを使いたい場合{html_options}を使わずforeach文で書いていましたが、html_optionsで表現できるんですね。。
» Read more: Smarty html_options でonchangeイベント

Ext.Message

10月 17th, 2007

ようやく覚えだしたExtライブラリ。
まだまだ思ったような動きを作れない。。
まずは簡単な確認ダイアログの出力から。

function msgBox(){
    Ext.MessageBox.show(
    {
        title: '確認!',
        msg: 'よいですか?',
        buttons: Ext.MessageBox.OKCANCEL,
        fn: fnDel,
        animEl: 'btnCheck'
    });
 
    function fnDel(result){
        if (result=="ok"){
            document.location.href = path;
        }
    }
}

Zend_Db

10月 4th, 2007

ちょこっと便利そうな関数のメモ

例 10.18. 自動インクリメントのキーにおける lastInsertId() の使用法

< ?php
$db->insert('bugs', $data);
//自動インクリメントのカラムで最後に生成された値を返します
$id = $db->lastInsertId();

そのテーブルで自動インクリメントの主キーを定義している場合は、 データを追加した後で lastInsertId() メソッドを使用することができます。このメソッドは、 現在のデータベース接続において最後に自動生成された値を返します。

同じく主キー以外は
$id = $db->lastSequenceId('bugs_id_gen');
で取得できる模様

quote() の返り値には、文字列の両端に区切り文字が追加されていることに注意しましょう。 これは、たとえば mysql_real_escape_string()のようなエスケープ用関数の挙動とは異なります。

トランザクション

< ?php
//トランザクションを明示的に開始します
$db->beginTransaction();
try {
     // いくつかクエリを実行します
     $db->query(...);
    $db->query(...);
    $db->query(...);
    // すべて成功したら、トランザクションをコミットして
     // すべての変更を一度に適用します
     $db->commit();
}
catch (Exception $e) {
    // いずれかのクエリが失敗して例外が発生したら、
     // もし他に成功しているクエリがあったとしても
    // それも含めてすべての処理をロールバックします。
    // すべて適用されるか、ひとつも適用されないかのいずれかです。
    $db->rollBack();
   echo $e->getMessage();
}

Zend_Db_Selectオブジェクト

メソッドを使用して句を追加する例

< ?php
// Zend_Db_Select オブジェクトを作成します
$select = $db->select();
// FROM 句を追加します
$select->from( ...テーブルとカラムを指定します... )
// WHERE 句を追加します
$select->where( ...検索条件を指定します... )
// ORDER BY 句を追加します
$select->order( ...ソート条件を指定します... );

また個々の句に対してメソッドが用意されている。
from()
join()
where()
orWhere()
group()
having()
order()
limit()
limitPage()
distinct()
など

< ?php
// できあがるクエリは、このようになります
//   SELECT p."product_id", p."product_name"
//   FROM "products" AS p
//   LIMIT 10, 20
$select = $db->select()
    ->from(array('p' => 'products'), array('product_id', 'product_name'))
    ->limitPage(2, 10);

使いこなせば便利そう・・・使い慣れない間はSQLをそのまま記述したほうが早そう・・・^^;
具体的な使用例は使いながらUPしていくつもり。

Smarty get_template_vars

10月 1st, 2007

今回初めて使った関数なので一応メモ

array get_template_vars ( [string varname])

パラメータが与えられない場合は、 全ての割り当てられた変数の配列を返します。

$content_block が無い場合デフォルトのテンプレートを使う

    public function append( $template = null , $path=null , $block='content' )
    {
        if (!$path){
            $path = $this->_param[controller];
        }
        if (!$template){
            $template = $this->_param[action];
        }
 
        $content = $this->_smarty->fetch($path.'/'.$template.'.tpl' ,md5(serialize($_GET)));
        $this->_smarty->append($block.'_block',$content);
    }
 
 
    public function showPage($base = "base")
    {
        if ( !$this->_smarty->get_template_vars('content_block') ){
            $this->append();
        }
        $this->_smarty->display($base.'.tpl');
    }