Re: LC_Page_Admin_Products_Product.phpのfunctionをLC_Page_FrontParts_Bloc_New_Products.phpで起動することは可能でしょうか。
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の順に配列要素を並び替え
$query = "SELECT value FROM dtb_discount WHERE discount_id = ?";
$rate1 = $objQuery->getOne($query, array('1'));
$rate2 = $objQuery->getOne($query, array('2'));
$rate3 = $objQuery->getOne($query, array('3'));
if (strlen($objQuery->order) === 0) {
$arrTmp = array();
foreach ($arrProductId as $product_id) {
if($arrProducts[$product_id]["price02_max"]){
$arrProducts[$product_id]["price03_max"] = intval($arrProducts[$product_id]["price02_max"] * $rate1);
$arrProducts[$product_id]["price04_max"] = intval($arrProducts[$product_id]["price02_max"] * $rate2);
$arrProducts[$product_id]["price05_max"] = intval($arrProducts[$product_id]["price02_max"] * $rate3);
}
if($arrProducts[$product_id]["price02_min"]){
$arrProducts[$product_id]["price03_min"] = intval($arrProducts[$product_id]["price02_min"] * $rate1);
$arrProducts[$product_id]["price04_min"] = intval($arrProducts[$product_id]["price02_min"] * $rate2);
$arrProducts[$product_id]["price05_min"] = intval($arrProducts[$product_id]["price02_min"] * $rate3);
}
$arrTmp[$product_id] = $arrProducts[$product_id];
}
$arrProducts =& $arrTmp;
unset($arrTmp);
}else{
foreach($arrProducts as $key => $value){
if($value["price02_max"]){
$arrProducts[$key]["price03_max"] = intval($value["price02_max"] * $rate1);
$arrProducts[$key]["price04_max"] = intval($value["price02_max"] * $rate2);
$arrProducts[$key]["price05_max"] = intval($value["price02_max"] * $rate3);
}
if($value["price02_min"]){
$arrProducts[$key]["price03_min"] = intval($value["price02_min"] * $rate1);
$arrProducts[$key]["price04_min"] = intval($value["price02_min"] * $rate2);
$arrProducts[$key]["price05_min"] = intval($value["price02_min"] * $rate3);
}
}
}
// 税込金額を設定する
SC_Product_Ex::setIncTaxToProducts($arrProducts);
return $arrProducts;
}
こんな感じですか?