<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                產品表每次更新商品都會變動的,ID不能用,可是購物車還是用了,這就導致每次保存商品,哪怕什么都沒有改動,也會導致用戶的購物車失效。 ~~~ 其實可以考慮不是每次更新商品就除所有的SKU,畢竟有時什么都沒修改呢,只改一個價格呢,或者增加一個SKU呢,其實這個問題做細一點有好的處理方式的。 比如商品增加一個版本號字段,SKU也增加一個版本字段,如果SKU規格值變動了那么刪除,如果發現規格值還在,只是價格或其它的改變了,那么則只需要改變版本號就可以了,但其實這里面的細節很多,考慮得比較麻煩,還是干脆不要用SKU的ID了,如果能不用SKU的ID,那就全部都不要用,購物車里面也只記錄商品的ID和規格字符串就可以了,根據規格字符串查詢SKU,如果找不到那就是沒有。 ~~~ 規格不是屬于模型,而是模型有個字段可以包含多個規格。多個規格值使用json編碼保存。 屬性是屬于模型的。多個屬性值使用逗號分隔。 商品展示時規格怎么獲取,跟后臺可不一樣,后臺是可以看到模型下面的所有規格,但不一地你給選用該規格,而前臺是要展現所有SKU,請注意這個區別。 iwebshop是將商品的所有規格組(SKU)都放入了goods表,顯示時使用了這兒的數據。而tpshop是從sku表中獲取的。 classes/goods_class.php 119 line ~~~ //是否存在貨品 $goodsUpdateData['spec_array'] = ''; if(isset($postData['_spec_array'])) { //生成goods中的spec_array字段數據 $goods_spec_array = array(); foreach($postData['_spec_array'] as $key => $val) { foreach($val as $v) { $tempSpec = JSON::decode($v); if(!isset($goods_spec_array[$tempSpec['id']])) { $goods_spec_array[$tempSpec['id']] = array('id' => $tempSpec['id'],'name' => $tempSpec['name'],'type' => $tempSpec['type'],'value' => array()); } $goods_spec_array[$tempSpec['id']]['value'][] = $tempSpec['value']; } } foreach($goods_spec_array as $key => $val) { $val['value'] = array_unique($val['value']); $goods_spec_array[$key]['value'] = join(',',$val['value']); } $goodsUpdateData['spec_array'] = JSON::encode($goods_spec_array); } ~~~ products.html 模板 ~~~ {if:$spec_array} {set:$specArray = JSON::decode($spec_array);} {foreach:items=$specArray} <div id="mall_detail_type"> <dl name="specCols" class="mall_detail"> <dt>{$item['name']}</dt> <dd id="specList{$item['id']}"> {set:$specVal=explode(',',trim($item['value'],','))} {foreach:items=$specVal item=$spec_value} {if:$item['type'] == 1} <ul> <li><a href="javascript:void(0);" onclick="sele_spec(this);" value='{"id":"{$item['id']}","type":"{$item['type']}","value":"{$spec_value}","name":"{$item['name']}"}' >{$spec_value}</a></li> {else:} <li><a href="javascript:void(0);" onclick="sele_spec(this);" value='{"id":"{$item['id']}","type":"{$item['type']}","value":"{$spec_value}","name":"{$item['name']}"}' ><img src="{webroot:$spec_value}" width='30px' height='30px' /></a></li> </ul> {/if} {/foreach} </dd> </dl> </div> {/foreach} {/if} ~~~ * * * * * ### 擴展討論:標類與非標 當商品比較容易標準化,規范化時使用類型來決定規格這種形式比較好(根據商品類型定義規格模型),但是有一些場景這樣就不太靈活了,比如當商品很難標準化,規范化時,比如外賣的餐品,不是每一個餐品都有規格,都有辣度規格,大份小份等規格,所以此時應該尋找另外一種解決方案了,比如使用自定義的規格,這樣就靈活很多了,這里就有個很好的實例:[這是商品不依賴類型,自定義規格的完美解決方案!](https://coding.net/u/xiasf/p/gcb/git/commit/6d4116b91cc05e4db483e9eb49bd58611510f0e5#commit-comment-91257) ,當然如果情況復雜特殊,使用兩種方式結合也是我們愿意看到的,不過設計起來可能比較復雜,以后有實際案例再討論。 * * * * * update:2017-3-16 11:18:03
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看