db = $idetail->db;
$pDetail->header_include = 0; # header include 完了フラグ
## パラメータチェック 半角数字以外が含まれる場合は、エラー
if( !is_numeric($_GET['products']) || $_GET['products'] == ""){
WriteLog::writelog( "parameta Error parameta:".$_GET['products'] );
$pDetail->viewError('該当の商品は登録を削除されました。');
}
$view_count = 4; # 表示するアイテム数
## 詳細ページ表示タイプ取得( 旧テンプレート使用 or CMS用テンプレート使用 )
$products_no = mysql_real_escape_string($_GET['products']);
$pDetail->products_no = $products_no;
$pvParam = $pDetail->getPVmode($products_no);
##------------------##
## 旧テンプレート ##
##------------------##
if( $pvParam['page_type'] == 0 ){
#include("../header02.html");
$pDetail->header_include = 1; # include 確認用
$goback = "../index.html";
$items = $_SESSION['itemlist'];
$category_name = $_SESSION['category_name'];
$sub_name = $_SESSION['sub_name'];
$res = $idetail->getItemDetail($products_no);
if($res && $idetail->data[products_no]){
$shouhin = "";
$shouhin = $idetail->data;
$shouhin['material'] = ereg_replace("(\r\n|\r)", "
", $shouhin['material']);
$shouhin['note'] = ereg_replace("(\r\n|\r)", "
", $shouhin['note']);
## ラッピングイメージ
$wrapage = "";
if(File_Exists("../shop/wrapping/".$shouhin['stores_no3'].".html")){
$wrapage = "/shop/wrapping/".$shouhin['stores_no3'].".html";
}
## ショップ詳細ページ
$concept_page = "";
if( file_exists("/var/www/html/shop/".$shouhin['concept_page']) != false ){
$concept_page = $shouhin['concept_page'];
}
## NEW フラグ
$new_flg = "0";
if( strtotime($shouhin['entry_date']) >= strtotime("-2 week",time()) ){
$smarty->assign("new_flg", "1");
}
## セット組アイテム
$set_item_num = "";
for($i=0;$i<$shouhin['set_item_num'];$i++){
$set_item_num[] = $i+1;
}
## 熨斗対応 贈答好適品として登録されている商品のみ商品詳細ページに熨斗対応状況を表示する。
$noshi_viewFlg = $ctgrys->getNoshiViewFlg($products_no);
## 関連商品表示情報 ##
# 同一カテゴリ商品はデフォルトで表示
$recomMode = "";
# session が無ければ、取得
if(!$_SESSION['recomItemBasic'.$products_no]){
# 関連商品表示アイテム取得
$recomItemBasicList = $pDetail->getRecommendList($recomMode,$shouhin['cpflg']);
if($recomItemBasicList){
# ランダムにアイテム取得
shuffle($recomItemBasicList);
# ランダムに取得する数。
# 取得したアイテム数が $view_count 以上なら$view_count。
# $view_count以下なら取得した数。
if( count($recomItemBasicList) > $view_count){
$count = $view_count;
}else{
$count = count($recomItemBasicList);
}
for($j=0;$j<$count;$j++){
$recomBasicList[] = $recomItemBasicList[$j];
}
$_SESSION['recomItemBasic'.$products_no] = $recomBasicList;
}
}else{
$recomBasicList = $_SESSION['recomItemBasic'.$products_no];
}
# 設定した商品表示
$recomMode = $pDetail->getRecomMode();
if ($recomMode != "" && $recomMode != 3 ){
# session が無ければ、取得
if(!$_SESSION['recomItem'.$products_no]){
# 関連商品表示アイテム取得
$recomItemList = $pDetail->getRecommendList($recomMode,$shouhin['cpflg']);
if($recomItemList){
# ランダムにアイテム取得
shuffle($recomItemList);
# ランダムに取得する数。
# 取得したアイテム数が $view_count 以上なら$view_count。
# $view_count以下なら取得した数。
if( count($recomItemList) > $view_count){
$count = $view_count;
}else{
$count = count($recomItemList);
}
for($j=0;$j<$count;$j++){
$recomList[] = $recomItemList[$j];
}
$_SESSION['recomItem'.$products_no] = $recomList;
}
}else{
$recomList = $_SESSION['recomItem'.$products_no];
}
}
# 商品がない
}else{
$pDetail->viewError('該当の商品は登録を削除されました。');
}
## 戻り制御/パンクズフラグ
if( preg_match('/shop/',$_SERVER['PHP_SELF']) ){
if($_SESSION['cartcont'] == ""){
$panFlg = '';
}else{
$goback = $_SESSION['cartcont'];
$panFlg = 'shop';
}
}
if( preg_match('/search/',$_SERVER['PHP_SELF']) && $_SESSION['sgoback']){
$goback = $_SESSION['sgoback'];
$_SESSION['sgoback'] = "";
$panFlg = 'search';
}
if( preg_match('/item/',$_SERVER['PHP_SELF']) ){
if($_SESSION['cartcont'] == ""){
//トップから?
if($_SERVER['HTTP_REFERER']){
$goback = $_SERVER['HTTP_REFERER'];
}
}else if( ( preg_match('/category_list\.html/',$_SESSION['cartcont']) || preg_match('/category_sub\.html/',$_SESSION['cartcont']) ) && !preg_match('/sitem\.html/',$_SESSION['cartcont']) ){
$category_name = "".$category_name."";
if($sub_name == ""){
$goback = "category_list.html?pg=".$_SESSION['fpage'];
$sub_name = $shouhin['products_name'];
}else{
$goback = $_SESSION['cartcont'];
if($stores_no!=300){
$sub_name = "{$sub_name} >{$shouhin['products_name']}";
}else{
$sub_name = "{$shouhin['products_name']}";
}
}
#}
}else{
$goback = $_SESSION['cartcont'];
if($stores_no!=300){
$sub_name = "商品一覧 >{$shouhin['products_name']}";
}else{
$sub_name = "{$shouhin['products_name']}";
}
$category_name_outFlg = 1;
}
$panFlg = 'item';
}
if( preg_match('/mypage/',$_SERVER['PHP_SELF']) ){
$goback = SECUURL."mypage/12.html?".$_SESSION['rireki'];
$_SESSION['rireki'] = "";
}
$sVal = "{$shouhin['products_name']} | {$shouhin['shop_name']} ";
if( !isset($stores_no) ){ $stores_no = intval($shouhin['stores_no3']); }
include("../header.html");
### メイン出力
#$smarty->assign("stores_no",$shouhin['stores_no']);
$smarty->assign("stores_no",$stores_no);
$smarty->assign("shopname",$shouhin['shop_name']);
$smarty->assign("concept_page", $concept_page);
$smarty->assign("shouhin", $shouhin);
$smarty->assign("wrapage", $wrapage);
$smarty->assign("option_s", $idetail->option_s);
$smarty->assign("option_c", $idetail->option_c);
$smarty->assign("option_i", $idetail->option_i);
$smarty->assign("cnt_s", Count($idetail->option_s));
$smarty->assign("cnt_c", Count($idetail->option_c));
$smarty->assign("cnt_i", Count($idetail->option_i));
$smarty->assign("bln_s", $idetail->cnt_s);
$smarty->assign("bln_c", $idetail->cnt_c);
$smarty->assign("bln_i", $idetail->cnt_i);
$smarty->assign("zaiko", $idetail->zaiko);
$smarty->assign("products_no", $products_no);
$smarty->assign("stockTable", $idetail->stockTable);
$smarty->assign("optionTable", $idetail->optionTable);
$smarty->assign("new_flg", $new_flg); # new フラグ
$smarty->assign("set_item_num", $set_item_num); # セットアイテム
$smarty->assign("noshi_viewFlg", $noshi_viewFlg); # 熨斗対応表示フラグ
$smarty->assign("recomList", $recomList); # 関連商品
$smarty->assign("recomBasicList", $recomBasicList); # 関連商品(デフォルト)
$smarty->assign("cpflg", $shouhin['cpflg']); # キャンペーンフラグ
$smarty->assign("user_name", $_SESSION['user_name']);
if(!$category_name_outFlg){
$smarty->assign("category_name", $category_name);
}
$smarty->assign("sub_name", $sub_name);
$smarty->assign("goback", $goback);
$smarty->assign("panFlg", $panFlg);
( $disp_tmpl == 'foods.tpl' ) ? $smarty->display('shop/03.tpl') : $smarty->display('shop/03.tpl') ;
include("../footer02.html");
}
##------------------##
## 新テンプレート ##
##------------------##
if( $pvParam['page_type'] == 1 ){
require_once("ItemCategory.inc");
$ctgrys = new ItemCategory;
$smarty = new Smarty_es;
$pDetail->smarty = $smarty;
$category_name = $_SESSION['category_name'];
$sub_name = $_SESSION['sub_name'];
## 商品情報 ##
if( $idetail->getItemDetail($products_no) ){
$itemInfo = $idetail->data;
# material/note の改行コードを
に変換
$itemInfo['material'] = ereg_replace("(\r\n|\r)", "
", $itemInfo['material']);
$itemInfo['note'] = ereg_replace("(\r\n|\r)", "
", $itemInfo['note']);
# リンクページ設定
if(File_Exists("../shop/wrapping/".$itemInfo['stores_no3'].".html")){ $wrapage = "/shop/wrapping/".$itemInfo['stores_no3'].".html"; }
(file_exists("/var/www/html/shop/".$itemInfo['concept_page']) == false) ? $concept_page = "" :$concept_page = $itemInfo['concept_page'];
# new表示用フラグ
( strtotime($itemInfo['entry_date']) >= strtotime("-2 week",time()) ) ? $newFlg = 1 : $newFlg = 0 ;
## セット組アイテム選択対応
$set_item_num = "";
for($i=0;$i<$itemInfo['set_item_num'];$i++){ $set_item_num[] = $i+1; }
## 熨斗対応 ##
## 贈答好適品として登録されている商品のみ商品詳細ページに熨斗対応状況を表示する。
$noshi_viewFlg = $pDetail->ctgrys->getNoshiViewFlg($products_no);
}
## 戻り制御/パンクズフラグ
if( preg_match('/shop/',$_SERVER['PHP_SELF']) ){
if($_SESSION['cartcont'] == ""){
$panFlg = '';
}else{
#$goback = "02.html?pg=".$_SESSION['fpage'];
$goback = $_SESSION['cartcont'];
$panFlg = 'shop';
}
}
if( preg_match('/search/',$_SERVER['PHP_SELF']) && $_SESSION['sgoback']){
$goback = $_SESSION['sgoback'];
$_SESSION['sgoback'] = "";
$panFlg = 'search';
}
if( preg_match('/item/',$_SERVER['PHP_SELF']) ){
if($_SESSION['cartcont'] == ""){
//トップから?
if($_SERVER['HTTP_REFERER']){
$goback = $_SERVER['HTTP_REFERER'];
}
#}else{
}else if( ( preg_match('/category_list\.html/',$_SESSION['cartcont']) || preg_match('/category_sub\.html/',$_SESSION['cartcont']) ) && !preg_match('/sitem\.html/',$_SESSION['cartcont']) ){
$category_name = "".$category_name."";
if($sub_name == ""){
$goback = "category_list.html?pg=".$_SESSION['fpage'];
$sub_name = $shouhin['products_name'];
}else{
$goback = $_SESSION['cartcont'];
$sub_name = "{$sub_name} >{$itemInfo['products_name']}";
}
#}
}else{
$goback = $_SESSION['cartcont'];
$sub_name = "商品一覧 >{$shouhin['products_name']}";
$category_name_outFlg = 1;
}
$panFlg = 'item';
}
if( preg_match('/mypage/',$_SERVER['PHP_SELF']) ){
$goback = SECUURL."mypage/12.html?".$_SESSION['rireki'];
$_SESSION['rireki'] = "";
}
if(!$category_name_outFlg){
$smarty->assign("category_name", $category_name);
}
#$smarty->assign("category_name", $category_name);
$smarty->assign("sub_name", $sub_name);
$smarty->assign("goback", $goback);
$smarty->assign("panFlg", $panFlg);
### 基本情報出力 ###
$smarty->assign("stores_no",$itemInfo['stores_no']);
$smarty->assign("shopname",$itemInfo['shop_name']);
$smarty->assign("concept_page", $concept_page);
$smarty->assign("shouhin", $itemInfo);
$smarty->assign("wrapage", $wrapage);
$smarty->assign("option_s", $idetail->option_s);
$smarty->assign("option_c", $idetail->option_c);
$smarty->assign("option_i", $idetail->option_i);
$smarty->assign("cnt_s", Count($idetail->option_s));
$smarty->assign("cnt_c", Count($idetail->option_c));
$smarty->assign("cnt_i", Count($idetail->option_i));
$smarty->assign("bln_s", $idetail->cnt_s);
$smarty->assign("bln_c", $idetail->cnt_c);
$smarty->assign("bln_i", $idetail->cnt_i);
$smarty->assign("zaiko", $idetail->zaiko);
$smarty->assign("products_no", $products_no);
$smarty->assign("stockTable", $idetail->stockTable);
$smarty->assign("optionTable", $idetail->optionTable);
$smarty->assign("new_flg", $newFlg);
$smarty->assign("set_item_num", $set_item_num);
$smarty->assign("noshi_viewFlg", $noshi_viewFlg);
$smarty->assign("cpflg", $itemInfo['cpflg']); # キャンペーンフラグ
$smarty->assign("user_name", $_SESSION['user_name']);
# tab 生成
$tabHtml = $pDetail->createTabHtml();
# ナビゲーション生成
$pDetail->header = $header; # ナビゲーション用追加
$naviHtml = $pDetail->createNaviHtml();
# 商品表示要素を取得
$objectList = $pDetail->createCmsObjct( $products_no , sprintf("%03d",$itemInfo['stores_no']) , $pvParam['template_id'] );
## 関連商品表示情報 ##
# 同一カテゴリ商品はデフォルトで表示
$recomMode = "";
# session が無ければ、取得
if(!$_SESSION['recomItemBasic'.$products_no]){
# 関連商品表示アイテム取得
#$recomItemBasicList = $pDetail->getRecommendList($recomMode);
$recomItemBasicList = $pDetail->getRecommendList($recomMode,$itemInfo['cpflg']);
if($recomItemBasicList){
# ランダムにアイテム取得
shuffle($recomItemBasicList);
# ランダムに取得する数。
# 取得したアイテム数が $view_count 以上なら$view_count。
# $view_count以下なら取得した数。
if( count($recomItemBasicList) > $view_count){
$count = $view_count;
}else{
$count = count($recomItemBasicList);
}
for($j=0;$j<$count;$j++){
$recomBasicList[] = $recomItemBasicList[$j];
}
$_SESSION['recomItemBasic'.$products_no] = $recomBasicList;
}
}else{
$recomBasicList = $_SESSION['recomItemBasic'.$products_no];
}
# 設定した商品表示
$recomMode = $pDetail->getRecomMode();
if ($recomMode != "" && $recomMode != 3 ){
# session が無ければ、取得
if(!$_SESSION['recomItem'.$products_no]){
# 関連商品表示アイテム取得
#$recomItemList = $pDetail->getRecommendList($recomMode);
$recomItemList = $pDetail->getRecommendList($recomMode,$itemInfo['cpflg']);
if($recomItemList){
# ランダムにアイテム取得
shuffle($recomItemList);
# ランダムに取得する数。
# 取得したアイテム数が $view_count 以上なら$view_count。
# $view_count以下なら取得した数。
if( count($recomItemList) > $view_count){
$count = $view_count;
}else{
$count = count($recomItemList);
}
for($j=0;$j<$count;$j++){
$recomList[] = $recomItemList[$j];
}
$_SESSION['recomItem'.$products_no] = $recomList;
}
}else{
$recomList = $_SESSION['recomItem'.$products_no];
}
}
# テンプレート情報を取得
$template = $pDetail->getTemplate($pvParam['template_id']);
# ヘッダ情報出力
$headerInfo = $pDetail->getHeaderInfo();
if( $headerInfo['keywords'] == "" ){ $headerInfo['keywords'] = KEYWORDS; }
if( $headerInfo['description'] == "" ){ $headerInfo['description'] = DESCRIPTION; }
if( $headerInfo['title'] == "" ){ $headerInfo['title'] = TITLE; }
# 表示要素出力
for($i=0;$iassign($objectList[$i]['object_item'],$objectList[$i]['value']);
}
$smarty->assign("style_file", $template['style_css']); # スタイルシートファイル名
$smarty->assign("keywords", $headerInfo['keywords']); # キーワード
$smarty->assign("description", $headerInfo['description']); # 説明文
$smarty->assign("title", $headerInfo['title']); # ページタイトル
$smarty->assign("recomList", $recomList); # 関連商品
$smarty->assign("recomBasicList", $recomBasicList); # 関連商品(デフォルト)
# ヘッダ出力
$headerHtml = $smarty->fetch('products_page/products_header.tpl');
$pDetail->header_include = 1;
# メインページ出力
$mainHtml = $smarty->fetch("products_page/{$template['template_file']}");
## ページ表示
print $headerHtml;
print $tabHtml;
print '';
print '';
print $naviHtml;
print $mainHtml;
include("../footer_products.html");
}
?>