本文整理汇总了PHP中SC_Product_Ex::setIncTaxToProducts方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Product_Ex::setIncTaxToProducts方法的具体用法?PHP SC_Product_Ex::setIncTaxToProducts怎么用?PHP SC_Product_Ex::setIncTaxToProducts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Product_Ex
的用法示例。
在下文中一共展示了SC_Product_Ex::setIncTaxToProducts方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getListByProductIds
/**
* 商品IDを指定し、商品一覧を取得する
*
* SC_Query::setOrder() や SC_Query::setLimitOffset() を設定して, 商品一覧
* の配列を取得する.
* FIXME: 呼び出し元で設定した、SC_Query::setWhere() も有効に扱いたい。
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrProductId 商品ID
* @return array 商品一覧の配列 (キー: 商品ID)
*/
function getListByProductIds(&$objQuery, $arrProductId = array())
{
if (empty($arrProductId)) {
return array();
}
$where = 'alldtl.product_id IN (' . SC_Utils_Ex::repeatStrWithSeparator('?', count($arrProductId)) . ')';
$where .= ' AND alldtl.del_flg = 0';
$objQuery->setWhere($where, $arrProductId);
$arrProducts = $this->lists($objQuery);
// 配列のキーを商品IDに
$arrTmp = array();
foreach ($arrProducts as $arrProduct) {
$arrTmp[$arrProduct['product_id']] = $arrProduct;
}
$arrProducts =& $arrTmp;
unset($arrTmp);
// SC_Query::setOrder() の指定がない場合、$arrProductId で指定された商品IDの順に配列要素を並び替え
if (strlen($objQuery->order) === 0) {
$arrTmp = array();
foreach ($arrProductId as $product_id) {
$arrTmp[$product_id] = $arrProducts[$product_id];
}
$arrProducts =& $arrTmp;
unset($arrTmp);
}
// 税込金額を設定する
SC_Product_Ex::setIncTaxToProducts($arrProducts);
return $arrProducts;
}
示例2: lfGetProductsAllclass
/**
* 商品情報を取得する(vw_products_allclass使用)
*
* @param SC_Query $objQuery DB操作クラス
* @return array $arrProduct 取得結果を配列で返す
*/
function lfGetProductsAllclass(&$objQuery)
{
// --- 商品一覧の取得
$objQuery->setWhere('del_flg = 0 AND status = 1');
$objQuery->setOrder('product_id');
$objProduct = new SC_Product_Ex();
$arrProductLsit = $objProduct->lists($objQuery);
// 各商品のカテゴリIDとランクの取得
$arrProducts = array();
foreach ($arrProductLsit as $key => $val) {
$sql = '';
$sql .= ' SELECT';
$sql .= ' T1.category_id,';
$sql .= ' T1.rank AS product_rank,';
$sql .= ' T2.rank AS category_rank';
$sql .= ' FROM';
$sql .= ' dtb_product_categories AS T1';
$sql .= ' LEFT JOIN';
$sql .= ' dtb_category AS T2';
$sql .= ' ON';
$sql .= ' T1.category_id = T2.category_id';
$sql .= ' WHERE';
$sql .= ' product_id = ?';
$arrCategory = $objQuery->getAll($sql, array($val['product_id']));
if (!empty($arrCategory)) {
$arrProducts[$key] = array_merge($val, $arrCategory[0]);
}
}
// 税込金額を設定する
SC_Product_Ex::setIncTaxToProducts($arrProducts);
return $arrProducts;
}
示例3: lfGetFavoriteProduct
/**
* お気に入りを取得する
*
* @param mixed $customer_id
* @param mixed $objPage
* @access private
* @return array お気に入り商品一覧
*/
function lfGetFavoriteProduct($customer_id, &$objPage)
{
$objQuery = SC_Query_Ex::getSingletonInstance();
$objProduct = new SC_Product_Ex();
$objQuery->setOrder('create_date DESC');
$arrProductId = $objQuery->getCol('product_id', 'dtb_customer_favorite_products', 'customer_id = ?', array($customer_id));
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setWhere($this->lfMakeWhere('alldtl.', $arrProductId));
$linemax = $objProduct->findProductCount($objQuery);
$objPage->tpl_linemax = $linemax;
// 何件が該当しました。表示用
// ページ送りの取得
$objNavi = new SC_PageNavi_Ex($objPage->tpl_pageno, $linemax, SEARCH_PMAX, 'fnNaviPage', NAVI_PMAX);
$this->tpl_strnavi = $objNavi->strnavi;
// 表示文字列
$startno = $objNavi->start_row;
$objQuery =& SC_Query_Ex::getSingletonInstance();
//$objQuery->setLimitOffset(SEARCH_PMAX, $startno);
// 取得範囲の指定(開始行番号、行数のセット)
$arrProductId = array_slice($arrProductId, $startno, SEARCH_PMAX);
$where = $this->lfMakeWhere('', $arrProductId);
$where .= ' AND del_flg = 0';
$objQuery->setWhere($where, $arrProductId);
$arrProducts = $objProduct->lists($objQuery);
//取得している並び順で並び替え
$arrProducts2 = array();
foreach ($arrProducts as $item) {
$arrProducts2[$item['product_id']] = $item;
}
$arrProductsList = array();
foreach ($arrProductId as $product_id) {
$arrProductsList[] = $arrProducts2[$product_id];
}
// 税込金額を設定する
SC_Product_Ex::setIncTaxToProducts($arrProductsList);
return $arrProductsList;
}
示例4: lfGetFavoriteProduct
/**
* お気に入りを取得する
*
* @param mixed $customer_id
* @param mixed $objPage
* @access private
* @return array お気に入り商品一覧
*/
public function lfGetFavoriteProduct($customer_id, &$objPage)
{
if (DB_TYPE != 'sqlsrv') {
return parent::lfGetFavoriteProduct($customer_id, $objPage);
}
$objQuery = SC_Query_Ex::getSingletonInstance();
$objProduct = new SC_Product_Ex();
$objQuery->setOrder('f.create_date DESC');
$where = 'f.customer_id = ? and p.status = 1';
if (NOSTOCK_HIDDEN) {
$where .= ' AND EXISTS(SELECT * FROM dtb_products_class WHERE product_id = f.product_id AND del_flg = 0 AND (stock >= 1 OR stock_unlimited = 1))';
}
$arrProductId = $objQuery->getCol('f.product_id', 'dtb_customer_favorite_products f inner join dtb_products p on f.product_id = p.product_id ', $where, array($customer_id));
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setWhere($this->lfMakeWhere('alldtl.', $arrProductId));
$linemax = $objProduct->findProductCount($objQuery);
$objPage->tpl_linemax = $linemax;
// 何件が該当しました。表示用
// ページ送りの取得
$objNavi = new SC_PageNavi_Ex($objPage->tpl_pageno, $linemax, SEARCH_PMAX, 'eccube.movePage', NAVI_PMAX);
$this->tpl_strnavi = $objNavi->strnavi;
// 表示文字列
$startno = $objNavi->start_row;
$objQuery =& SC_Query_Ex::getSingletonInstance();
//$objQuery->setLimitOffset(SEARCH_PMAX, $startno);
// 取得範囲の指定(開始行番号、行数のセット)
$arrProductId = array_slice($arrProductId, $startno, SEARCH_PMAX);
$where = $this->lfMakeWhere('', $arrProductId);
$where .= ' AND del_flg = 0';
$objQuery->setWhere($where, $arrProductId);
$arrProducts = $objProduct->lists($objQuery);
//取得している並び順で並び替え
$arrProducts2 = array();
foreach ($arrProducts as $item) {
$arrProducts2[$item['product_id']] = $item;
}
$arrProductsList = array();
foreach ($arrProductId as $product_id) {
$arrProductsList[] = $arrProducts2[$product_id];
}
// 税込金額を設定する
SC_Product_Ex::setIncTaxToProducts($arrProductsList);
return $arrProductsList;
}
示例5: lfGetRanking
/**
* おすすめ商品検索.
*
* @return array $arrBestProducts 検索結果配列
*/
public function lfGetRanking()
{
$objRecommend = new SC_Helper_BestProducts_Ex();
// おすすめ商品取得
$arrRecommends = $objRecommend->getList(RECOMMEND_NUM);
$response = array();
if (count($arrRecommends) > 0) {
// 商品一覧を取得
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objProduct = new SC_Product_Ex();
// where条件生成&セット
$arrProductId = array();
foreach ($arrRecommends as $key => $val) {
$arrProductId[] = $val['product_id'];
}
$arrProducts = $objProduct->getListByProductIds($objQuery, $arrProductId);
// 税込金額を設定する
SC_Product_Ex::setIncTaxToProducts($arrProducts);
// おすすめ商品情報にマージ
foreach ($arrRecommends as $key => $value) {
if (isset($arrProducts[$value['product_id']])) {
$product = $arrProducts[$value['product_id']];
if ($product['status'] == 1 && (!NOSTOCK_HIDDEN || ($product['stock_max'] >= 1 || $product['stock_unlimited_max'] == 1))) {
$response[] = array_merge($value, $arrProducts[$value['product_id']]);
}
} else {
// 削除済み商品は除外
unset($arrRecommends[$key]);
}
}
}
return $response;
}
开发者ID:ryoogata,项目名称:eccube-SQLAzureSupport-plugin,代码行数:38,代码来源:LC_Page_FrontParts_Bloc_Recommend.php