Обратные сопутствующие товары (Reverse-Cross-selling)

2

Для расширения функционала магазина... Вполне логичная и полезная возможность или настройка (как для seo так и для посетителя)

На примере:
У товара "iPhone 6" есть сопутствующий товар (добавленный вручную!) "Чехол синий" под заголовком Сопутствующие товары.
Автоматически у товара "Чехол синий" появляется сопутствующий товар "iPhone 6" под заголовком Применяется на (Используется на)

3 комментария

  • -1
    max_rain@chooseme.ru max_rain@chooseme.ru 23 июня 2016 19:37 #

    Это реализуется простейшим плагином. Смысл в ядро?

  • +1
    Владимир Соколов Владимир Соколов 23 июня 2016 19:42 #

    И каким плагином

  • +1
    max_rain@chooseme.ru max_rain@chooseme.ru 24 июня 2016 11:39 #

    Приведу пример. У меня к одному товару приписываются товары связанные, отображение происходит в обоих. Т.е. Товар А ссылается на товар Б и В, в карточке товара Б отображается А и В, в карочтке В отображается А и Б, в карточке А отображается Б и В. Можно адаптировать. Вызывать также как и стандартный crossSelling. Сортировка по наличию.

        public static function crossSelling2($product_id)
        {
    
            $product_model = new shopProductModel();
            $sql = "select product_id,related_product_id from shop_product_related where product_id in (select product_id from shop_product_related where related_product_id=i:id) or related_product_id in (select related_product_id from shop_product_related where product_id=i:id)";
            $p = $product_model->query($sql, array('id' => $product_id))->fetchAll('product_id',2);
            if(!$p) return "";
            $retArray=Array();
            $tArr=Array();
            $tmp='';
            foreach ($p as $p_id => $pr) {
                    $tArr[$p_id]=$p_id;
                    foreach($pr as $key) {
                            $tArr[$key]=$key;
                    }
            }
    
            unset($tArr[$product_id]);
            $products=implode(",",$tArr);
            $sql = "SELECT p.id,p.count,p.url,p.name,p.image_id,p.image_filename,p.ext FROM shop_product p WHERE p.id in (".$products.") order by p.count DESC";
            $p = $product_model->query($sql)->fetchAll('id');
            if(!$p) return "";
            return $p;
    
        }
    

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите