{"id":199092,"date":"2025-05-03T11:57:16","date_gmt":"2025-05-03T03:57:16","guid":{"rendered":"https:\/\/server.hk\/cnblog\/199092\/"},"modified":"2025-05-03T11:57:16","modified_gmt":"2025-05-03T03:57:16","slug":"ecshop%e4%ba%a7%e5%93%81%e5%88%86%e7%b1%bb%e9%a1%b5%e8%b0%83%e7%94%a8%e5%bd%93%e5%89%8d%e5%88%86%e7%b1%bb%e6%8e%92%e8%a1%8c%e6%a6%9c","status":"publish","type":"post","link":"https:\/\/server.hk\/cnblog\/199092\/","title":{"rendered":"ecshop\u4ea7\u54c1\u5206\u7c7b\u9875\u8c03\u7528\u5f53\u524d\u5206\u7c7b\u6392\u884c\u699c"},"content":{"rendered":"<p>category.php<\/p>\n<p> \u6dfb\u52a0\u51fd\u6570\uff1a<\/p>\n<p>&nbsp;<\/p>\n<p> \/**<br \/> * \u8c03\u7528\u4ea7\u54c1\u5206\u7c7b\u7684\u9500\u552e\u6392\u884c\u699c<br \/> *<br \/> * @access&nbsp; public<br \/> * @param&nbsp;&nbsp; string&nbsp; $cats&nbsp;&nbsp; \u67e5\u8be2\u7684\u5206\u7c7b<br \/> * @return&nbsp; array<br \/> *\/<br \/> function get_pro_top10($cats = &#8216;1&#8217;)<br \/> {<br \/> &nbsp;&nbsp;&nbsp; $where = !empty($cats) ? &#8220;AND (g.cat_id = $cats OR &#8221; . get_extension_goods($cats) . &#8220;) &#8221; : &#8221;;<br \/> &nbsp;&nbsp;&nbsp; \/* \u6392\u884c\u7edf\u8ba1\u7684\u65f6\u95f4 *\/<br \/> &nbsp;&nbsp;&nbsp; switch ($GLOBALS[&#8216;_CFG&#8217;][&#8216;top10_time&#8217;])<br \/> &nbsp;&nbsp;&nbsp; {<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1: \/\/ \u4e00\u5e74<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $top10_time = &#8220;AND o.order_sn &gt;= &#8216;&#8221; . date(&#8216;Ymd&#8217;, gmtime() &#8211; 365 * 86400) . &#8220;&#8216;&#8221;;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 2: \/\/ \u534a\u5e74<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $top10_time = &#8220;AND o.order_sn &gt;= &#8216;&#8221; . date(&#8216;Ymd&#8217;, gmtime() &#8211; 180 * 86400) . &#8220;&#8216;&#8221;;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 3: \/\/ \u4e09\u4e2a\u6708<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $top10_time = &#8220;AND o.order_sn &gt;= &#8216;&#8221; . date(&#8216;Ymd&#8217;, gmtime() &#8211; 90 * 86400) . &#8220;&#8216;&#8221;;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 4: \/\/ \u4e00\u4e2a\u6708<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $top10_time = &#8220;AND o.order_sn &gt;= &#8216;&#8221; . date(&#8216;Ymd&#8217;, gmtime() &#8211; 30 * 86400) . &#8220;&#8216;&#8221;;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $top10_time = &#8221;;<br \/> &nbsp;&nbsp;&nbsp; }<br \/> &nbsp;&nbsp;&nbsp; $sql = &#8216;SELECT g.goods_id, g.goods_name, g.shop_price, g.goods_thumb, SUM(og.goods_number) as goods_number &#8216; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;FROM &#8216; . $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;goods&#8217;) . &#8216; AS g, &#8216; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_info&#8217;) . &#8216; AS o, &#8216; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $GLOBALS[&#8216;ecs&#8217;]-&gt;table(&#8216;order_goods&#8217;) . &#8216; AS og &#8216; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 $where $top10_time &#8221; ;<br \/> &nbsp;&nbsp;&nbsp; \/\/\u5224\u65ad\u662f\u5426\u542f\u7528\u5e93\u5b58\uff0c\u5e93\u5b58\u6570\u91cf\u662f\u5426\u5927\u4e8e0<br \/> &nbsp;&nbsp;&nbsp; if ($GLOBALS[&#8216;_CFG&#8217;][&#8216;use_storage&#8217;] == 1)<br \/> &nbsp;&nbsp;&nbsp; {<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql .= &#8221; AND g.goods_number &gt; 0 &#8220;;<br \/> &nbsp;&nbsp;&nbsp; }<br \/> &nbsp;&nbsp;&nbsp; $sql .= &#8216; AND og.order_id = o.order_id AND og.goods_id = g.goods_id &#8216; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;AND o.order_status = &#8216;&#8221; . OS_CONFIRMED . &#8220;&#8216; &#8221; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;AND (o.pay_status = &#8216;&#8221; . PS_PAYED . &#8220;&#8216; OR o.pay_status = &#8216;&#8221; . PS_PAYING . &#8220;&#8216;) &#8221; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;AND (o.shipping_status = &#8216;&#8221; . SS_SHIPPED . &#8220;&#8216; OR o.shipping_status = &#8216;&#8221; . SS_RECEIVED . &#8220;&#8216;) &#8221; .<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8216;GROUP BY g.goods_id ORDER BY goods_number DESC, g.goods_id DESC LIMIT &#8216; . $GLOBALS[&#8216;_CFG&#8217;][&#8216;top_number&#8217;];<br \/> &nbsp;&nbsp;&nbsp; $arr = $GLOBALS[&#8216;db&#8217;]-&gt;getAll($sql);<br \/> &nbsp;&nbsp;&nbsp; for ($i = 0, $count = count($arr); $i &lt; $count; $i++)<br \/> &nbsp;&nbsp;&nbsp; {<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $arr[$i][&#8216;short_name&#8217;] = $GLOBALS[&#8216;_CFG&#8217;][&#8216;goods_name_length&#8217;] &gt; 0 ?<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub_str($arr[$i][&#8216;goods_name&#8217;], $GLOBALS[&#8216;_CFG&#8217;][&#8216;goods_name_length&#8217;]) : $arr[$i][&#8216;goods_name&#8217;];<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $arr[$i][&#8216;url&#8217;]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = build_uri(&#8216;goods&#8217;, array(&#8216;gid&#8217; =&gt; $arr[$i][&#8216;goods_id&#8217;]), $arr[$i][&#8216;goods_name&#8217;]);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $arr[$i][&#8216;thumb&#8217;] = get_image_path($arr[$i][&#8216;goods_id&#8217;], $arr[$i][&#8216;goods_thumb&#8217;],true);<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $arr[$i][&#8216;price&#8217;] = price_format($arr[$i][&#8216;shop_price&#8217;]);<br \/> &nbsp;&nbsp;&nbsp; }<br \/> &nbsp;&nbsp;&nbsp; return $arr;<br \/> }<\/p>\n<p>&nbsp;<\/p>\n<p>\u67e5\u627e<\/p>\n<p>&nbsp;<\/p>\n<p>$smarty-&gt;assign(&#8216;top_goods&#8217;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get_top10());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/ \u9500\u552e\u6392\u884c<\/p>\n<p>&nbsp;<\/p>\n<p>\u4e0b\u9762<br \/> \u589e\u52a0\uff1a<br \/> $smarty-&gt;assign(&#8216;get_pro_top&#8217;,&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;get_pro_top10($cat_id));&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;\/\/ \u9500\u552e\u6392\u884c<\/p>\n<p> \u6a21\u677f\u8c03\u7528\uff1a<br \/> \u9ed8\u8ba4\u6a21\u677f<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;div class=&#8221;box&#8221;&gt;<br \/> &lt;div class=&#8221;box_2&#8243;&gt;<br \/> &nbsp; &lt;div class=&#8221;top10Tit&#8221;&gt;&lt;\/div&gt;<br \/> &nbsp; &lt;div class=&#8221;top10List clearfix&#8221;&gt;<br \/> &nbsp; &lt;!&#8211; {foreach name=top_goods from=$get_pro_top item=goods}&#8211;&gt;<br \/> &nbsp; &lt;ul class=&#8221;clearfix&#8221;&gt;<br \/> &lt;img src=&#8221;..\/images\/top_{$smarty.foreach.top_goods.iteration}.gif&#8221; class=&#8221;iteration&#8221; \/&gt;<br \/> &lt;!&#8211; {if $smarty.foreach.top_goods.iteration&lt;4}&#8211;&gt;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li class=&#8221;topimg&#8221;&gt;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=&#8221;{$goods.url}&#8221;&gt;&lt;img src=&#8221;{$goods.thumb}&#8221; alt=&#8221;{$goods.name|escape:html}&#8221; class=&#8221;samllimg&#8221; \/&gt;&lt;\/a&gt;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br \/> &lt;!&#8211; {\/if} &#8211;&gt;&nbsp; <br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li {if $smarty.foreach.top_goods.iteration&lt;4}class=&#8221;iteration1&#8243;{\/if}&gt;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href=&#8221;{$goods.url}&#8221; title=&#8221;{$goods.name|escape:html}&#8221;&gt;{$goods.short_name}&lt;\/a&gt;&lt;br \/&gt;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {$lang.shop_price}&lt;font class=&#8221;f1&#8243;&gt;{$goods.price}&lt;\/font&gt;&lt;br \/&gt;<br \/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/li&gt;<br \/> &nbsp;&nbsp;&nbsp; &lt;\/ul&gt;<br \/> &nbsp; &lt;!&#8211; {\/foreach} &#8211;&gt;<br \/> &nbsp; &lt;\/div&gt;<br \/> &lt;\/div&gt;<br \/> &lt;\/div&gt;<br \/> &lt;div class=&#8221;blank5&#8243;&gt;&lt;\/div&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>category.php \u6dfb\u52a0\u51fd&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4925],"tags":[],"class_list":["post-199092","post","type-post","status-publish","format-standard","hentry","category-4925"],"_links":{"self":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/posts\/199092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/comments?post=199092"}],"version-history":[{"count":0,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/posts\/199092\/revisions"}],"wp:attachment":[{"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/media?parent=199092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/categories?post=199092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/server.hk\/cnblog\/wp-json\/wp\/v2\/tags?post=199092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}