Changeset 18278


Ignore:
Timestamp:
2009/09/02 22:55:50 (15 years ago)
Author:
Seasoft
Message:

商品規格プルダウンの選択によって、商品コードの表示を動的に更新

Location:
branches/comu-ver2/data
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/Smarty/templates/default/detail.tpl

    r18277 r18278  
    5353    classcat2 = classCategories[classcat_id1][classcat_id2]; 
    5454     
     55    // 商品コード 
     56    eleDefault = document.getElementById('product_code_default'); 
     57    eleDynamic = document.getElementById('product_code_dynamic'); 
     58    if ( 
     59           classcat2 
     60        && typeof classcat2.product_code != 'undefined' 
     61    ) { 
     62        eleDefault.style.display = 'none'; 
     63        eleDynamic.innerHTML = classcat2.product_code; 
     64    } else { 
     65        eleDefault.style.display = ''; 
     66        eleDynamic.innerHTML = ''; 
     67    } 
     68     
    5569    // 在庫(品切れ) 
    5670    eleDefault = document.getElementById('cartbtn_default'); 
     
    159173 
    160174            <!--★商品コード★--> 
    161             <!--{assign var=codecnt value=$arrProductCode|@count}--> 
    162             <!--{assign var=codemax value=`$codecnt-1`}--> 
    163175            <div>商品コード: 
    164                 <!--{if $codecnt > 1}--> 
    165                     <!--{$arrProductCode.0}-->~<!--{$arrProductCode[$codemax]}--> 
    166                 <!--{else}--> 
    167                     <!--{$arrProductCode.0}--> 
    168                 <!--{/if}--> 
     176                <span id="product_code_default"> 
     177                    <!--{if $arrProduct.product_code_min == $arrProduct.product_code_max}--> 
     178                        <!--{$arrProduct.product_code_min|escape}--> 
     179                    <!--{else}--> 
     180                        <!--{$arrProduct.product_code_min|escape}-->~<!--{$arrProduct.product_code_max|escape}--> 
     181                    <!--{/if}--> 
     182                </span><span id="product_code_dynamic"></span> 
    169183            </div> 
    170184             
  • branches/comu-ver2/data/class/SC_Product.php

    r18277 r18278  
    130130                $classCategories[$productsClass1][$productsClass2]['point'] 
    131131                    = SC_Utils_Ex::sfPrePoint($productsClass['price02'], $productsClass['point_rate']); 
     132                 
     133                // 商品コード 
     134                $classCategories[$productsClass1][$productsClass2]['product_code'] = $productsClass['product_code']; 
    132135            } 
    133136             
     
    149152        // 商品規格取得 
    150153        $objQuery = new SC_Query(); 
    151         $col = "product_id, classcategory_id1, classcategory_id2, class_id1, class_id2, stock, stock_unlimited, price01, price02, point_rate"; 
    152         $table = "vw_product_class AS prdcls"; 
     154        $col = 'product_id, classcategory_id1, classcategory_id2, class_id1, class_id2, stock, stock_unlimited, price01, price02, point_rate, product_code'; 
     155        $table = 'vw_product_class AS prdcls'; 
    153156        $where = 'product_id IN (' . implode(', ', array_pad(array(), count($arrProductId), '?')) . ')'; 
    154157        $objQuery->setorder("product_id, rank1 DESC, rank2 DESC"); 
  • branches/comu-ver2/data/class/pages/products/LC_Page_Products_Detail.php

    r18277 r18278  
    232232        $this->arrProduct = $arrRet[0]; 
    233233 
    234         // 商品コードの取得 
    235         $code_sql = "SELECT product_code FROM dtb_products_class AS prdcls WHERE prdcls.product_id = ? GROUP BY product_code ORDER BY product_code"; 
    236         $arrProductCode = $objQuery->getall($code_sql, array($product_id)); 
    237         $arrProductCode = SC_Utils_Ex::sfswaparray($arrProductCode); 
    238         $this->arrProductCode = $arrProductCode["product_code"]; 
    239  
    240234        // 購入制限数を取得 
    241235        if (!SC_Utils_Ex::sfIsInt($this->arrProduct['sale_limit']) || $this->arrProduct['sale_limit'] > SALE_LIMIT_MAX) { 
     
    444438        $arrRet = $objQuery->select("*", "vw_products_allclass_detail AS alldtl", "product_id = ?", array($product_id)); 
    445439        $this->arrProduct = $arrRet[0]; 
    446  
    447         // 商品コードの取得 
    448         $code_sql = "SELECT product_code FROM dtb_products_class AS prdcls WHERE prdcls.product_id = ? GROUP BY product_code ORDER BY product_code"; 
    449         $arrProductCode = $objQuery->getall($code_sql, array($product_id)); 
    450         $arrProductCode = SC_Utils_Ex::sfswaparray($arrProductCode); 
    451         $this->arrProductCode = $arrProductCode["product_code"]; 
    452440 
    453441        // 購入制限数を取得 
Note: See TracChangeset for help on using the changeset viewer.