Product
class Product
商品を扱うサービスクラス.
Properties
$arrClassName | 規格名一覧 | ||
$arrClassCatName | 規格分類名一覧 | ||
$classCategories | このプロパティが保持する price01 及び price02 は、税金付与した金額である。 | ||
$stock_find | |||
$className1 | 規格1クラス名 | ||
$className2 | 規格2クラス名 | ||
$classCat1_find | 規格1が設定されている | ||
$classCat2_find | 規格2が設定されている | ||
$classCats1 | |||
$arrOrderData | 検索用並び替え条件配列 |
Methods
商品検索結果の並び順を指定する。
Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。
商品詳細を取得する.
商品詳細情報と商品規格を取得する.
商品IDに紐づく商品規格を自分自身に設定する.
商品規格IDから商品規格を取得する.
複数の商品IDに紐づいた, 商品規格を取得する.
商品IDに紐づいた, 商品規格を全ての組み合わせごとに取得する.
商品IDをキーにした, 商品ステータスIDの配列を取得する.
商品ステータスを設定する.
商品詳細の結果から, 販売制限数を取得する.
在庫を減少させる.
商品情報の配列に, 税込金額を設定して返す.
商品情報の配列に税込金額を設定する
商品情報の配列に税込金額を設定する
商品詳細の SQL を取得する.
商品規格詳細の SQL を取得する.
No description
商品が属しているカテゴリーIDを取得する.
有効な商品IDかチェックする.
Details
at line 71
void
setProductsOrder(string $col, string $table = 'dtb_products', string $order = 'ASC')
商品検索結果の並び順を指定する。
ただし指定できるテーブルはproduct_idを持っているテーブルであることが必要.
at line 85
array
findProductIdsOrder(Query $objQuery, array $arrVal = array())
Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。
検索条件は, Query::setWhere() 関数で設定しておく必要があります.
at line 113
integer
findProductCount(Query $objQuery, array $arrVal = array())
Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.
検索条件は, Query::setWhere() 関数で設定しておく必要があります.
at line 130
array
lists(Query $objQuery)
Queryインスタンスに設定された検索条件をもとに商品一覧の配列を取得する.
主に Application::alias('eccube.product')->findProductIds() で取得した商品IDを検索条件にし, Query::setOrder() や Query::setLimitOffset() を設定して, 商品一覧 の配列を取得する.
at line 172
array
getListByProductIds(Query $objQuery, array $arrProductId = array())
商品IDを指定し、商品一覧を取得する
Query::setOrder() や Query::setLimitOffset() を設定して, 商品一覧 の配列を取得する. FIXME: 呼び出し元で設定した、Query::setWhere() も有効に扱いたい。
at line 209
array
getDetail(integer $product_id)
商品詳細を取得する.
at line 231
array
getDetailAndProductsClass(integer $productClassId)
商品詳細情報と商品規格を取得する.
at line 249
void
setProductsClassByProductIds(array $arrProductId, boolean $has_deleted = false)
商品IDに紐づく商品規格を自分自身に設定する.
引数の商品IDの配列に紐づく商品規格を取得し, 自分自身のフィールドに 設定する.
at line 352
array
getProductsClassByQuery(Query $objQuery, array $params)
Query インスタンスに設定された検索条件を使用して商品規格を取得する.
at line 407
array
getProductsClass(integer $productClassId)
商品規格IDから商品規格を取得する.
削除された商品規格は取得しない.
at line 434
array
getProductsClassByProductIds(array $productIds = array(), boolean $has_deleted = false)
複数の商品IDに紐づいた, 商品規格を取得する.
at line 457
array
getProductsClassFullByProductId(array $productId, boolean $has_deleted = false)
商品IDに紐づいた, 商品規格を全ての組み合わせごとに取得する.
at line 470
array
getProductStatus(array $productIds)
商品IDをキーにした, 商品ステータスIDの配列を取得する.
at line 497
setProductStatus(integer $productId, array $productStatusIds)
商品ステータスを設定する.
TODO 現在は DELETE/INSERT だが, UPDATE を検討する.
at line 524
integer
getBuyLimit(array $p)
商品詳細の結果から, 販売制限数を取得する.
getDetailAndProductsClass() の結果から, 販売制限数を取得する.
at line 550
boolean
reduceStock(integer $productClassId, integer $quantity)
在庫を減少させる.
指定の在庫数まで, 在庫を減少させる. 減少させた結果, 在庫数が 0 未満になった場合, 引数 $quantity が 0 の場合は, 在庫の減少を中止し, false を返す. 在庫の減少に成功した場合は true を返す.
at line 579
array
setPriceTaxTo(array $arrProducts)
商品情報の配列に, 税込金額を設定して返す.
この関数は, 主にスマートフォンで使用します.
at line 614
void
setIncTaxToProducts(array $arrProducts)
商品情報の配列に税込金額を設定する
at line 627
void
setIncTaxToProduct(array $arrProduct)
商品情報の配列に税込金額を設定する
at line 641
string
alldtlSQL(string $where_products_class = '')
商品詳細の SQL を取得する.
at line 657
string
prdclsSQL(string $where = '')
商品規格詳細の SQL を取得する.
MEMO: 2.4系 vwproductclassに相当(?)するイメージ
at line 703
getProductDispConditions(string $tablename = null)
at line 717
array
getCategoryIds(int $product_id, bool $include_hidden = false)
商品が属しているカテゴリーIDを取得する.
at line 738
bool
isValidProductId(int $product_id, bool $include_hidden = false, bool $include_deleted = false)
有効な商品IDかチェックする.