class Product

商品を扱うサービスクラス.

Properties

$arrClassName 規格名一覧
$arrClassCatName 規格分類名一覧
$classCategories このプロパティが保持する price01 及び price02 は、税金付与した金額である。
$stock_find
$className1 規格1クラス名
$className2 規格2クラス名
$classCat1_find 規格1が設定されている
$classCat2_find 規格2が設定されている
$classCats1
$arrOrderData 検索用並び替え条件配列

Methods

void
setProductsOrder(string $col, string $table = 'dtb_products', string $order = 'ASC')

商品検索結果の並び順を指定する。

array
findProductIdsOrder(Query $objQuery, array $arrVal = array())

Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。

integer
findProductCount(Query $objQuery, array $arrVal = array())

Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.

array
lists(Query $objQuery)

Queryインスタンスに設定された検索条件をもとに商品一覧の配列を取得する.

array
getListByProductIds(Query $objQuery, array $arrProductId = array())

商品IDを指定し、商品一覧を取得する

array
getDetail(integer $product_id)

商品詳細を取得する.

array
getDetailAndProductsClass(integer $productClassId)

商品詳細情報と商品規格を取得する.

void
setProductsClassByProductIds(array $arrProductId, boolean $has_deleted = false)

商品IDに紐づく商品規格を自分自身に設定する.

array
getProductsClassByQuery(Query $objQuery, array $params)

Query インスタンスに設定された検索条件を使用して商品規格を取得する.

array
getProductsClass(integer $productClassId)

商品規格IDから商品規格を取得する.

array
getProductsClassByProductIds(array $productIds = array(), boolean $has_deleted = false)

複数の商品IDに紐づいた, 商品規格を取得する.

array
getProductsClassFullByProductId(array $productId, boolean $has_deleted = false)

商品IDに紐づいた, 商品規格を全ての組み合わせごとに取得する.

array
getProductStatus(array $productIds)

商品IDをキーにした, 商品ステータスIDの配列を取得する.

setProductStatus(integer $productId, array $productStatusIds)

商品ステータスを設定する.

integer
getBuyLimit(array $p)

商品詳細の結果から, 販売制限数を取得する.

boolean
reduceStock(integer $productClassId, integer $quantity)

在庫を減少させる.

array
setPriceTaxTo(array $arrProducts)

商品情報の配列に, 税込金額を設定して返す.

void
setIncTaxToProducts(array $arrProducts)

商品情報の配列に税込金額を設定する

void
setIncTaxToProduct(array $arrProduct)

商品情報の配列に税込金額を設定する

string
alldtlSQL(string $where_products_class = '')

商品詳細の SQL を取得する.

string
prdclsSQL(string $where = '')

商品規格詳細の SQL を取得する.

getProductDispConditions(string $tablename = null)

No description

array
getCategoryIds(int $product_id, bool $include_hidden = false)

商品が属しているカテゴリーIDを取得する.

bool
isValidProductId(int $product_id, bool $include_hidden = false, bool $include_deleted = false)

有効な商品IDかチェックする.

Details

at line 71
void setProductsOrder(string $col, string $table = 'dtb_products', string $order = 'ASC')

商品検索結果の並び順を指定する。

ただし指定できるテーブルはproduct_idを持っているテーブルであることが必要.

Parameters

string $col 並び替えの基準とするフィールド
string $table 並び替えの基準とするフィールドがあるテーブル
string $order 並び替えの順序 ASC / DESC

Return Value

void

at line 85
array findProductIdsOrder(Query $objQuery, array $arrVal = array())

Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。

検索条件は, Query::setWhere() 関数で設定しておく必要があります.

Parameters

Query $objQuery Query インスタンス
array $arrVal 検索パラメーターの配列

Return Value

array 商品IDの配列

at line 113
integer findProductCount(Query $objQuery, array $arrVal = array())

Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.

検索条件は, Query::setWhere() 関数で設定しておく必要があります.

Parameters

Query $objQuery Query インスタンス
array $arrVal 検索パラメーターの配列

Return Value

integer 対象商品ID数

at line 130
array lists(Query $objQuery)

Queryインスタンスに設定された検索条件をもとに商品一覧の配列を取得する.

主に Application::alias('eccube.product')->findProductIds() で取得した商品IDを検索条件にし, Query::setOrder() や Query::setLimitOffset() を設定して, 商品一覧 の配列を取得する.

Parameters

Query $objQuery Query インスタンス

Return Value

array 商品一覧の配列

at line 172
array getListByProductIds(Query $objQuery, array $arrProductId = array())

商品IDを指定し、商品一覧を取得する

Query::setOrder() や Query::setLimitOffset() を設定して, 商品一覧 の配列を取得する. FIXME: 呼び出し元で設定した、Query::setWhere() も有効に扱いたい。

Parameters

Query $objQuery Query インスタンス
array $arrProductId 商品ID

Return Value

array 商品一覧の配列 (キー: 商品ID)

at line 209
array getDetail(integer $product_id)

商品詳細を取得する.

Parameters

integer $product_id 商品ID

Return Value

array 商品詳細情報の配列

at line 231
array getDetailAndProductsClass(integer $productClassId)

商品詳細情報と商品規格を取得する.

Parameters

integer $productClassId 商品規格ID

Return Value

array 商品詳細情報と商品規格の配列

at line 249
void setProductsClassByProductIds(array $arrProductId, boolean $has_deleted = false)

商品IDに紐づく商品規格を自分自身に設定する.

引数の商品IDの配列に紐づく商品規格を取得し, 自分自身のフィールドに 設定する.

Parameters

array $arrProductId 商品ID の配列
boolean $has_deleted 削除された商品規格も含む場合 true; 初期値 false

Return Value

void

at line 352
array getProductsClassByQuery(Query $objQuery, array $params)

Query インスタンスに設定された検索条件を使用して商品規格を取得する.

Parameters

Query $objQuery Queryインスタンス
array $params 検索パラメーターの配列

Return Value

array 商品規格の配列

at line 407
array getProductsClass(integer $productClassId)

商品規格IDから商品規格を取得する.

削除された商品規格は取得しない.

Parameters

integer $productClassId 商品規格ID

Return Value

array 商品規格の配列

at line 434
array getProductsClassByProductIds(array $productIds = array(), boolean $has_deleted = false)

複数の商品IDに紐づいた, 商品規格を取得する.

Parameters

array $productIds 商品IDの配列
boolean $has_deleted 削除された商品規格も含む場合 true; 初期値 false

Return Value

array 商品規格の配列

at line 457
array getProductsClassFullByProductId(array $productId, boolean $has_deleted = false)

商品IDに紐づいた, 商品規格を全ての組み合わせごとに取得する.

Parameters

array $productId 商品ID
boolean $has_deleted 削除された商品規格も含む場合 true; 初期値 false

Return Value

array 全ての組み合わせの商品規格の配列

at line 470
array getProductStatus(array $productIds)

商品IDをキーにした, 商品ステータスIDの配列を取得する.

Parameters

array $productIds 商品ID の配列

Return Value

array 商品IDをキーにした商品ステータスIDの配列

at line 497
setProductStatus(integer $productId, array $productStatusIds)

商品ステータスを設定する.

TODO 現在は DELETE/INSERT だが, UPDATE を検討する.

Parameters

integer $productId 商品ID
array $productStatusIds ON にする商品ステータスIDの配列

at line 524
integer getBuyLimit(array $p)

商品詳細の結果から, 販売制限数を取得する.

getDetailAndProductsClass() の結果から, 販売制限数を取得する.

Parameters

array $p 商品詳細の検索結果の配列

Return Value

integer 商品詳細の結果から求めた販売制限数.

See also

getDetailAndProductsClass()

at line 550
boolean reduceStock(integer $productClassId, integer $quantity)

在庫を減少させる.

指定の在庫数まで, 在庫を減少させる. 減少させた結果, 在庫数が 0 未満になった場合, 引数 $quantity が 0 の場合は, 在庫の減少を中止し, false を返す. 在庫の減少に成功した場合は true を返す.

Parameters

integer $productClassId 商品規格ID
integer $quantity 減少させる在庫数

Return Value

boolean 在庫の減少に成功した場合 true; 失敗した場合 false

at line 579
array setPriceTaxTo(array $arrProducts)

商品情報の配列に, 税込金額を設定して返す.

この関数は, 主にスマートフォンで使用します.

Parameters

array $arrProducts 商品情報の配列

Return Value

array 旧バージョン互換用のデータ

at line 614
void setIncTaxToProducts(array $arrProducts)

商品情報の配列に税込金額を設定する

Parameters

array $arrProducts 商品情報の配列

Return Value

void

at line 627
void setIncTaxToProduct(array $arrProduct)

商品情報の配列に税込金額を設定する

Parameters

array $arrProduct 商品情報の配列

Return Value

void

at line 641
string alldtlSQL(string $where_products_class = '')

商品詳細の SQL を取得する.

Parameters

string $where_products_class 商品規格情報の WHERE 句

Return Value

string 商品詳細の SQL

at line 657
string prdclsSQL(string $where = '')

商品規格詳細の SQL を取得する.

MEMO: 2.4系 vwproductclassに相当(?)するイメージ

Parameters

string $where 商品詳細の WHERE 句

Return Value

string 商品規格詳細の SQL

at line 703
getProductDispConditions(string $tablename = null)

Parameters

string $tablename

at line 717
array getCategoryIds(int $product_id, bool $include_hidden = false)

商品が属しているカテゴリーIDを取得する.

Parameters

int $product_id
bool $include_hidden

Return Value

array

at line 738
bool isValidProductId(int $product_id, bool $include_hidden = false, bool $include_deleted = false)

有効な商品IDかチェックする.

Parameters

int $product_id
bool $include_hidden
bool $include_deleted

Return Value

bool