本文整理汇总了PHP中SC_Utils_Ex::sfGetProductClassId方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Utils_Ex::sfGetProductClassId方法的具体用法?PHP SC_Utils_Ex::sfGetProductClassId怎么用?PHP SC_Utils_Ex::sfGetProductClassId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Utils_Ex
的用法示例。
在下文中一共展示了SC_Utils_Ex::sfGetProductClassId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: lfGetProductData_FromDB
/**
* DBから商品データを取得する
*
* @param integer $product_id 商品ID
* @return array 商品データ配列
*/
function lfGetProductData_FromDB($product_id)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
$arrProduct = array();
// 商品データ取得
$col = '*';
$table = <<<__EOF__
dtb_products AS T1
LEFT JOIN (
SELECT product_id AS product_id_sub,
product_code,
price01,
price02,
deliv_fee,
stock,
stock_unlimited,
sale_limit,
point_rate,
product_type_id,
down_filename,
down_realfilename
FROM dtb_products_class
) AS T2
ON T1.product_id = T2.product_id_sub
__EOF__;
$where = 'product_id = ?';
$objQuery->setLimit('1');
$arrProduct = $objQuery->select($col, $table, $where, array($product_id));
// カテゴリID取得
$col = 'category_id';
$table = 'dtb_product_categories';
$where = 'product_id = ?';
$objQuery->setOption('');
$arrProduct[0]['category_id'] = $objQuery->getCol($col, $table, $where, array($product_id));
// 規格情報ありなしフラグ取得
$objDb = new SC_Helper_DB_Ex();
$arrProduct[0]['has_product_class'] = $objDb->sfHasProductClass($product_id);
// 規格が登録されていなければ規格ID取得
if ($arrProduct[0]['has_product_class'] == false) {
$arrProduct[0]['product_class_id'] = SC_Utils_Ex::sfGetProductClassId($product_id, '0', '0');
}
// 商品ステータス取得
$objProduct = new SC_Product_Ex();
$productStatus = $objProduct->getProductStatus(array($product_id));
$arrProduct[0]['product_status'] = $productStatus[$product_id];
// 関連商品データ取得
$arrRecommend = $this->lfGetRecommendProductsData_FromDB($product_id);
$arrProduct[0] = array_merge($arrProduct[0], $arrRecommend);
return $arrProduct[0];
}
示例2: lfCheckErrorDetail
/**
* このフォーム特有の複雑な入力チェックを行う.
*
* @param array 確認対象データ
* @param array エラー配列
* @return array エラー配列
*/
public function lfCheckErrorDetail($item, $arrErr)
{
// 規格IDの存在チェック
// FIXME 規格分類ID自体のが有効かを主眼においたチェックをすべきと感じる。
if (!$this->lfIsDbRecord('dtb_products_class', 'product_class_id', $item)) {
$arrErr['product_class_id'] = '※ 指定の商品規格IDは、登録されていません。';
}
// 商品ID、規格IDの組合せチェック
if (array_search('product_class_id', $this->arrFormKeyList) !== FALSE && $item['product_class_id'] != '') {
if ($item['product_id'] == '') {
$arrErr['product_class_id'] = '※ 商品規格ID指定時には商品IDの指定が必須です。';
} else {
if (!$this->objDb->sfIsRecord('dtb_products_class', 'product_id, product_class_id', array($item['product_id'], $item['product_class_id']))) {
$arrErr['product_class_id'] = '※ 指定の商品IDと商品規格IDの組合せは正しくありません。';
}
// product_class_idは(product_id, classcategory_id1, classcategory_id2)に対して一意。既に異なるproduct_class_idが存在した場合はエラー
$classcategory_id1 = $item['classcategory_id'] ? $item['classcategory_id'] : 0;
$classcategory_id2 = $item['parent_classcategory_id'] ? $item['parent_classcategory_id'] : 0;
$product_class_id = SC_Utils_Ex::sfGetProductClassId($item['product_id'], $classcategory_id1, $classcategory_id2);
if ($product_class_id && $product_class_id != $item['product_class_id']) {
$arrErr['product_class_id'] = '※ 指定の商品ID/規格分類と、商品規格IDの組合せは正しくありません。';
}
}
}
// 表示ステータスの存在チェック
if (!$this->lfIsArrayRecord($this->arrDISP, 'status', $item)) {
$arrErr['status'] = '※ 指定の表示ステータスは、登録されていません。';
}
// メーカーIDの存在チェック
if (!$this->lfIsArrayRecord($this->arrMaker, 'maker_id', $item)) {
$arrErr['maker_id'] = '※ 指定のメーカーIDは、登録されていません。';
}
// 発送日目安IDの存在チェック
if (!$this->lfIsArrayRecord($this->arrDELIVERYDATE, 'deliv_date_id', $item)) {
$arrErr['deliv_date_id'] = '※ 指定の発送日目安IDは、登録されていません。';
}
// 商品種別IDの存在チェック
if (!$this->lfIsArrayRecord($this->arrProductType, 'product_type_id', $item)) {
$arrErr['product_type_id'] = '※ 指定の商品種別IDは、登録されていません。';
}
// 既存の商品クラスを更新する場合、入力が必須となる項目が存在する(既存項目のデフォルト値による更新は望ましくない)
if ($item['product_class_id'] != '') {
if ($item['point_rate'] == '') {
$arrErr['point_rate'] = '※ 既存の商品規格が存在する場合、ポイント付与率を未指定にする事はできません。';
}
if ($item['product_type_id'] == '') {
$arrErr['product_type_id'] = '※ 既存の商品規格が存在する場合、商品種別を未指定にする事はできません。';
}
}
// 関連商品IDのチェック
$arrRecommendProductUnique = array();
for ($i = 1; $i <= RECOMMEND_PRODUCT_MAX; $i++) {
$recommend_product_id_key = 'recommend_product_id' . $i;
if (array_search($recommend_product_id_key, $this->arrFormKeyList) !== FALSE && $item[$recommend_product_id_key] != '') {
// 商品IDの存在チェック
if (!$this->objDb->sfIsRecord('dtb_products', 'product_id', (array) $item[$recommend_product_id_key])) {
$arrErr[$recommend_product_id_key] = "※ 指定の関連商品ID({$i})は、登録されていません。";
continue;
}
// 商品IDの重複チェック
$recommend_product_id = $item[$recommend_product_id_key];
if (isset($arrRecommendProductUnique[$recommend_product_id])) {
$arrErr[$recommend_product_id_key] = "※ 指定の関連商品ID({$i})は、すでに登録されています。";
} else {
$arrRecommendProductUnique[$recommend_product_id] = true;
}
}
}
// カテゴリIDの存在チェック
if (!$this->lfIsDbRecordMulti('dtb_category', 'category_id', 'category_ids', $item, ',')) {
$arrErr['category_ids'] = '※ 指定のカテゴリIDは、登録されていません。';
}
// 商品ステータスIDの存在チェック
if (!$this->lfIsArrayRecordMulti($this->arrSTATUS, 'product_statuses', $item, ',')) {
$arrErr['product_statuses'] = '※ 指定の商品ステータスIDは、登録されていません。';
}
// 削除フラグのチェック
if (array_search('del_flg', $this->arrFormKeyList) !== FALSE && $item['del_flg'] != '') {
if (!($item['del_flg'] == '0' or $item['del_flg'] == '1')) {
$arrErr['del_flg'] = '※ 削除フラグは「0」(有効)、「1」(削除)のみが有効な値です。';
}
}
/*
TODO: 在庫数の扱いが2.4仕様ではぶれているのでどうするか・・
// 在庫数/在庫無制限フラグの有効性に関するチェック
if ($item['stock'] == '') {
if (array_search('stock_unlimited', $this->arrFormKeyList) === FALSE) {
$arrErr['stock'] = '※ 在庫数は必須です(無制限フラグ項目がある場合のみ空欄許可)。';
} elseif ($item['stock_unlimited'] != UNLIMITED_FLG_UNLIMITED) {
$arrErr['stock'] = '※ 在庫数または在庫無制限フラグのいずれかの入力が必須です。';
}
}
*/
//.........这里部分代码省略.........
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:101,代码来源:LC_Page_Admin_Products_UploadCSV.php
示例3: lfInitParam
public function lfInitParam($objFormParam)
{
parent::lfInitParam($objFormParam);
# 端末情報
$objFormParam->addParam("device_name", "device_name");
$objFormParam->addParam("device_height", "device_height");
$objFormParam->addParam("device_width", "device_width");
$objFormParam->addParam("device_rate", "device_rate");
$objFormParam->addParam("device_lang", "device_lang");
# 各種初期設定
$objFormParam->setValue("classcategory_id1", "0");
$objFormParam->setValue("classcategory_id2", "0");
$objFormParam->setValue("quantity", "1");
$objFormParam->setValue("product_class_id", SC_Utils_Ex::sfGetProductClassId($this->tpl_product_id));
// 値の取得
$objFormParam->setParam($_REQUEST);
// 入力値の変換
$objFormParam->convParam();
// 入力情報を渡す
return $objFormParam->getFormParamList();
}