メモります、つまり、メモリ増す。

呼び出し元

  • LC_Page_Products_List#lfGetCategoryId?

概要

  • カテゴリーIDがINTかつ、「0」でないかつ、カテゴリーマスタテーブルに該当カテゴリーIDが存在する場合
    • 該当カテゴリIDを配列にして返す
  • $colesedがTrueの場合
    • プロダクトIDがINTかつ、「0」でないかつ、製品マスタテーブルに該当プロダクトIDが、ステータスの表示/非表示に関わらず存在する場合
      • 該当プロダクトIDを配列にして返す
  • $closedがFalseの場合(デフォルト)
    • プロダクトIDがINTかつ、「0」でないかつ、製品マスタテーブルにステータスが表示の該当プロダクトIDが存在する場合
      • 製品カテゴリーテーブルから、該当プロダクトIDの所属するカテゴリーIDを配列にして返す
  • 上記いずれにも当てはまらない場合
    • 空の配列を返す

引数

  • $product_id プロダクトID
  • $category_id カテゴリーID
  • $closed カテゴリーが非表示かどうか。

実装

    function sfGetCategoryId($product_id, $category_id = 0, $closed = false) {
        if ($closed) {
            $status = '';
        } else {
            $status = 'status = 1';
        }
        $category_id = (int) $category_id;
        $product_id = (int) $product_id;
        if (SC_Utils_Ex::sfIsInt($category_id) && $category_id != 0 && SC_Helper_DB_Ex::sfIsRecord('dtb_category','category_id', $category_id)) {
            $category_id = array($category_id);
        } else if (SC_Utils_Ex::sfIsInt($product_id) && $product_id != 0 && SC_Helper_DB_Ex::sfIsRecord('dtb_products','product_id', $product_id, $status)) {
            $objQuery =& SC_Query_Ex::getSingletonInstance();
            $category_id = $objQuery->getCol('category_id', 'dtb_product_categories', 'product_id = ?', array($product_id));
        } else {
            // 不正な場合は、空の配列を返す。
            $category_id = array();
        }
        return $category_id;
    }

備考

    /**
     * 選択中の商品のカテゴリを取得する.
     *
     * @param integer $product_id プロダクトID
     * @param integer $category_id カテゴリID
     * @return array 選択中の商品のカテゴリIDの配列
     *
     */

MyTodo

  • いけてないメソッド。product_idは別のメソッドにすべき。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます