Heim >Backend-Entwicklung >PHP-Tutorial >javascript - ecshop 中如何在猜你喜欢中加入库存的判断,库存小于0就不显示

javascript - ecshop 中如何在猜你喜欢中加入库存的判断,库存小于0就不显示

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:11:021028Durchsuche

我加了goods_number 但是没取出来

<code> /*
     *获取推荐商品(猜你喜欢)
     */
    function insert_like_product($arr){
        $need_cache = $GLOBALS['smarty']->caching;
        $need_compile = $GLOBALS['smarty']->force_compile;
        
        $GLOBALS['smarty']->caching = false;
        $GLOBALS['smarty']->force_compile = true;
        
        if (!in_array($arr['type'], array('like')))
        {
            $GLOBALS['smarty']->assign('number', $arr['number']);
            return array();
        }
        
        static $type_goods = array();
        if (empty($type_goods[$arr['type']]))
        {
            //初始化数据
            $type_goods['like']    = array();
            $goods_data = array();
            $data = read_static_cache('like_product_'.$arr['number']);
            if ($data == false)
            {
                $where = db_create_in($_COOKIE['ECS']['history'], 'goods_id');
                $sql   = 'SELECT goods_id, cat_id FROM ' . $GLOBALS['ecs']->table('goods') ." WHERE ".$where." AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0";
                $like_goods =$GLOBALS['db']->getAll($sql);
                foreach($like_goods as $val)
                {
                    $like = get_category_goods('', $val['cat_id'],20,false);
                    foreach($like as $value)
                    {
                        if(count($goods_data) assign('like_goods', $goods_data);
        $GLOBALS['smarty']->assign('type', $arr['type']);
    
        
        $val= $GLOBALS['smarty']->fetch('library/like_product.lbi');
        
        $GLOBALS['smarty']->caching = $need_cache;
        $GLOBALS['smarty']->force_compile = $need_compile;
        
        return $val;
    }</code>

===================================================================================

/*

<code> *获取分类推荐商品
 */
    function get_category_goods($type = '', $cats = '',$num=0,$status=true, $brand = 0, $min =0,  $max = 0, $ext=''){
    $brand_where = ($brand > 0) ? " AND g.brand_id = '$brand'" : '';
    $price_where = ($min > 0) ? " AND g.shop_price >= $min " : '';
    $price_where .= ($max > 0) ? " AND g.shop_price table('goods') . ' AS g ' .
            'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
            "LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
            "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
            'WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ' . $brand_where . $price_where . $ext;
    $type2lib = array('best'=>'recommend_best', 'new'=>'recommend_new', 'hot'=>'recommend_hot', 'promote'=>'recommend_promotion');
    if($status)
        $num = get_library_number($type2lib[$type]);


    switch ($type)
    {
        case 'best':
            $sql .= ' AND is_best = 1';
            break;
        case 'new':
            $sql .= ' AND is_new = 1';
            break;
        case 'hot':
            $sql .= ' AND is_hot = 1';
            break;
        case 'promote':
            $time = gmtime();
            $sql .= " AND is_promote = 1 AND promote_start_date = '$time'";
            break;
    }

    if (!empty($cats))
    {
        $sql .= " AND (g.cat_id=" . $cats . " OR " . get_extension_goods($cats) .")";
    }

    $order_type = $GLOBALS['_CFG']['recommend_order'];
    $sql .= ($order_type == 0) ? ' ORDER BY g.sort_order, g.last_update DESC' : ' ORDER BY RAND()';
    $res = $GLOBALS['db']->selectLimit($sql, $num);

    $idx = 0;
    $goods = array();
    while ($row = $GLOBALS['db']->fetchRow($res))
    {
        if ($row['promote_price'] > 0)
        {
            $promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']);
            $goods[$idx]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : '';
        }
        else
        {
            $goods[$idx]['promote_price'] = '';
        }

        $goods[$idx]['id']           = $row['goods_id'];
        $goods[$idx]['name']         = $row['goods_name'];
        $goods[$idx]['number']       = $row['goods_number'];//库存
        $goods[$idx]['brief']        = $row['goods_brief'];
        $goods[$idx]['brand_name']   = $row['brand_name'];
        $goods[$idx]['short_name']   = $GLOBALS['_CFG']['goods_name_length'] > 0 ?
        sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];
        $goods[$idx]['market_price'] = price_format($row['market_price']);
        $goods[$idx]['shop_price']   = price_format($row['shop_price']);
        $goods[$idx]['thumb']        = get_image_path($row['goods_id'], $row['goods_thumb'], true);
        $goods[$idx]['goods_img']    = get_image_path($row['goods_id'], $row['goods_img']);
        $goods[$idx]['url']          = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);

        $goods[$idx]['short_style_name'] = add_style($goods[$idx]['short_name'], $row['goods_name_style']);
        $idx++;
    }

    return $goods;
}
 </code>

回复内容:

我加了goods_number 但是没取出来

<code> /*
     *获取推荐商品(猜你喜欢)
     */
    function insert_like_product($arr){
        $need_cache = $GLOBALS['smarty']->caching;
        $need_compile = $GLOBALS['smarty']->force_compile;
        
        $GLOBALS['smarty']->caching = false;
        $GLOBALS['smarty']->force_compile = true;
        
        if (!in_array($arr['type'], array('like')))
        {
            $GLOBALS['smarty']->assign('number', $arr['number']);
            return array();
        }
        
        static $type_goods = array();
        if (empty($type_goods[$arr['type']]))
        {
            //初始化数据
            $type_goods['like']    = array();
            $goods_data = array();
            $data = read_static_cache('like_product_'.$arr['number']);
            if ($data == false)
            {
                $where = db_create_in($_COOKIE['ECS']['history'], 'goods_id');
                $sql   = 'SELECT goods_id, cat_id FROM ' . $GLOBALS['ecs']->table('goods') ." WHERE ".$where." AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0";
                $like_goods =$GLOBALS['db']->getAll($sql);
                foreach($like_goods as $val)
                {
                    $like = get_category_goods('', $val['cat_id'],20,false);
                    foreach($like as $value)
                    {
                        if(count($goods_data) assign('like_goods', $goods_data);
        $GLOBALS['smarty']->assign('type', $arr['type']);
    
        
        $val= $GLOBALS['smarty']->fetch('library/like_product.lbi');
        
        $GLOBALS['smarty']->caching = $need_cache;
        $GLOBALS['smarty']->force_compile = $need_compile;
        
        return $val;
    }</code>

===================================================================================

/*

<code> *获取分类推荐商品
 */
    function get_category_goods($type = '', $cats = '',$num=0,$status=true, $brand = 0, $min =0,  $max = 0, $ext=''){
    $brand_where = ($brand > 0) ? " AND g.brand_id = '$brand'" : '';
    $price_where = ($min > 0) ? " AND g.shop_price >= $min " : '';
    $price_where .= ($max > 0) ? " AND g.shop_price table('goods') . ' AS g ' .
            'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
            "LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
            "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
            'WHERE g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ' . $brand_where . $price_where . $ext;
    $type2lib = array('best'=>'recommend_best', 'new'=>'recommend_new', 'hot'=>'recommend_hot', 'promote'=>'recommend_promotion');
    if($status)
        $num = get_library_number($type2lib[$type]);


    switch ($type)
    {
        case 'best':
            $sql .= ' AND is_best = 1';
            break;
        case 'new':
            $sql .= ' AND is_new = 1';
            break;
        case 'hot':
            $sql .= ' AND is_hot = 1';
            break;
        case 'promote':
            $time = gmtime();
            $sql .= " AND is_promote = 1 AND promote_start_date = '$time'";
            break;
    }

    if (!empty($cats))
    {
        $sql .= " AND (g.cat_id=" . $cats . " OR " . get_extension_goods($cats) .")";
    }

    $order_type = $GLOBALS['_CFG']['recommend_order'];
    $sql .= ($order_type == 0) ? ' ORDER BY g.sort_order, g.last_update DESC' : ' ORDER BY RAND()';
    $res = $GLOBALS['db']->selectLimit($sql, $num);

    $idx = 0;
    $goods = array();
    while ($row = $GLOBALS['db']->fetchRow($res))
    {
        if ($row['promote_price'] > 0)
        {
            $promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']);
            $goods[$idx]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : '';
        }
        else
        {
            $goods[$idx]['promote_price'] = '';
        }

        $goods[$idx]['id']           = $row['goods_id'];
        $goods[$idx]['name']         = $row['goods_name'];
        $goods[$idx]['number']       = $row['goods_number'];//库存
        $goods[$idx]['brief']        = $row['goods_brief'];
        $goods[$idx]['brand_name']   = $row['brand_name'];
        $goods[$idx]['short_name']   = $GLOBALS['_CFG']['goods_name_length'] > 0 ?
        sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];
        $goods[$idx]['market_price'] = price_format($row['market_price']);
        $goods[$idx]['shop_price']   = price_format($row['shop_price']);
        $goods[$idx]['thumb']        = get_image_path($row['goods_id'], $row['goods_thumb'], true);
        $goods[$idx]['goods_img']    = get_image_path($row['goods_id'], $row['goods_img']);
        $goods[$idx]['url']          = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);

        $goods[$idx]['short_style_name'] = add_style($goods[$idx]['short_name'], $row['goods_name_style']);
        $idx++;
    }

    return $goods;
}
 </code>

你找到了对应的方法,那改了以后就打印下SQL语句调试下吧

insert_like_product函数中where条件加个goods_number>0的判断啊

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn