作者 主題: 如何讓 Ecshop 商品相冊圖片按順序排列  (閱讀 235 次)

0 會員 與 1 訪客 正在閱讀本文。

離線 andy

  • 管理員
  • 正式會員
  • *****
  • 積分 +1/-0
  • 性別: 男
    • 原來如此
如何讓 Ecshop 商品相冊圖片按順序排列
« 於: 七月 15, 2019, 06:10:38 下午 »
很多人會遇到這種情況,當你在新增商品時,如果只上傳了商品圖是不會有問題的,但是如果同時上傳商品相冊圖片,前台的圖片順序可能大亂,
事後編輯商品追加的圖片也是一樣,要讓圖片按照你的意思順序顯示,可以對檔案稍作修改,方法如下:

    編輯 includes/lib_goods.php 約 726 之後找到
代碼: [選擇]
function get_goods_gallery($goods_id)
{
$sql = 'SELECT img_id, img_url, thumb_url, img_desc' .
' FROM ' . $GLOBALS['ecs']->table('goods_gallery') .

找到
代碼: [選擇]
    " WHERE goods_id = '$goods_id' LIMIT " . $GLOBALS['_CFG']['goods_gallery_number'];
改為
代碼: [選擇]
    " WHERE goods_id = '$goods_id' ORDER BY img_desc,img_id ASC LIMIT " . $GLOBALS['_CFG']['goods_gallery_number'];

    排序的依據可在圖片的描述欄位開頭以數字由小到大排列,如果圖片的描述欄位留空或數字一樣
則會按照圖片ID與就是上傳先後排列,除此之外,後台也需要修改,才會跟前台顯示一致:

編輯 admin/goods.php 約 388 行找到
代碼: [選擇]
/* 图片列表 */
$sql = "SELECT * FROM " . $ecs->table('goods_gallery') . " WHERE goods_id = '$goods[goods_id]' ";
改為

代碼: [選擇]
    /* 图片列表 */
        $sql = "SELECT * FROM " . $ecs->table('goods_gallery') . " WHERE goods_id = '$goods[goods_id]' ORDER BY img_desc,img_id ASC";


完成後存檔上傳
還是那句老話,修改前先備份檔案...
LINE ID:ecshop_weshop
Email:andy@we-shop.net
聯絡我:https://we-shop.net/contactus.php