Помощь Атрибуты (цвет) отдельными товарами

Тема в разделе "PrestaShop", создана пользователем rob1n, 24 май 2019.

Информация :
Приветствую гость, обрати внимание! Темы которые закреплены в разделах, в скором времени будут откреплены. Правила раздела PrestaShop

(Не актуальные темы) Каталоги:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
(Не актуальные темы) Поиск / Запросы:Модули PrestaShop 1.7Модули PrestaShop 1.5 - 1.6Шаблоны PrestaShop 1.7Шаблоны PrestaShop 1.5 - 1.6
Полезная информация:Поддержка и помощь c PrestaShopУбираем ПрестаТраст, стучалки и прочую рекламуСовместные покупки модулей и шаблоновПеревод Prestashop и модулей
Модераторы: trace
  1. rob1n

    rob1n

    Регистр.:
    10 июл 2007
    Сообщения:
    470
    Симпатии:
    353
    Добрый день,


    Есть товары обувь , одежда и прочие товары, которые имеют разные цевета.
    Разные цвета добавлены на сайт как отдельные товары.

    Задача:
    Сделать выбор цветов на данных товарах, чтобы при выборе цвета переходило на страницу товара с этим цветом.

    Кто реализовывал подобное, поделитесь свои опытом или модулем пожалуйста.

    PS 1.6.1.23
     
    fortuner нравится это.
  2. Zveruga76

    Zveruga76

    Регистр.:
    20 июл 2013
    Сообщения:
    270
    Симпатии:
    402
    Эти товары хоть как-то связаны между собой? Грубо говоря, у стула красного цвета где-то указано (может артикулы одинаковые и код цвета через тире или другу подобные товары настроены в админке как сопутствующие), что стулья черного и синего цвета его родные братья?
     
    rob1n нравится это.
  3. rob1n

    rob1n

    Регистр.:
    10 июл 2007
    Сообщения:
    470
    Симпатии:
    353
    Нет не связано, будет связываться вручную скорее всего.
    Проследить зависимости через артикул врятле получится...
    может как то по названию...
    Victorinox нож складной Huntsman черный
    Victorinox нож складной Huntsman красный

    думаю с идентификацией братьев получится разобраться, вопрос в технической реализации...
     
  4. _sashok

    _sashok PrestaShop Expert

    Регистр.:
    15 июл 2011
    Сообщения:
    2.028
    Симпатии:
    3.353
    я когда-то делал перелинковку просто подправив запрос к базе данных в модуле "Товары из этой категории"

    в моём случае у товаров разных цветов был артикул одинаковый
     
    rob1n нравится это.
  5. Anvar6120

    Anvar6120

    Регистр.:
    1 дек 2015
    Сообщения:
    217
    Симпатии:
    334
    При одинаковых артикулах, какой запрос нужен к БД, чтобы вывести миниатюры товаров с одинаковым артикулом?
     
  6. _sashok

    _sashok PrestaShop Expert

    Регистр.:
    15 июл 2011
    Сообщения:
    2.028
    Симпатии:
    3.353
    productscategory.php:

    Код:
        public function hookProductFooter($params)
        {
            $id_product = (int)$params['product']->id;
           
    //webpc1
            $ref = $params['product']->reference;
           
           
            if ($ref=='') return false;
           
    //echo $ref;
    //die;       
           
            $product = $params['product'];
    
            $cache_id = 'productscategory|'.$id_product.'|'.(isset($params['category']->id_category) ? (int)$params['category']->id_category : (int)$product->id_category_default);
    
    /*        if (!$this->isCached('productscategory.tpl', $this->getCacheId($cache_id)))
            {
    */
    
    //webpc2   
    //$category_products = $category->getProducts($this->context->language->id, 1, 100); /* 100 products max. */       
    
    //$sql = 'SELECT p.`id_product`,pl.`link_rewrite`,p.`price`,pl.`name`
    $sql = 'SELECT p.*, product_shop.*,pl.`link_rewrite`, pl.`meta_title`, pl.`name`, image_shop.`id_image` id_image,il.`legend` as legend
                    FROM `'._DB_PREFIX_.'product` p
                    '.Shop::addSqlAssociation('product', 'p').'
                    LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` '.Shop::addSqlRestrictionOnLang('pl').')
                    LEFT JOIN `'._DB_PREFIX_.'image_shop` image_shop
                        ON (image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop=1)
                    LEFT JOIN `'._DB_PREFIX_.'image_lang` il
                        ON (image_shop.`id_image` = il.`id_image`
                        AND il.`id_lang` = '.$this->context->language->id.')
                    WHERE pl.`id_lang` = '.$this->context->language->id.' and p.`reference`=\''.$ref.'\' AND p.`active` = 1  and p.`id_product`<>'.$id_product.' ORDER BY p.`id_product`';
    //echo $sql;
    //die;   
               
    
    $cpro = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql, true, false);
    $category_products =Product::getProductsProperties($id_lang, $cpro);
     
                // Display tpl
                $this->smarty->assign(
                    array(
                        'categoryProducts' => $category_products,
                        'middlePosition' => (int)$middle_position,
                        'ProdDisplayPrice' => Configuration::get('PRODUCTSCATEGORY_DISPLAY_PRICE')
                    )
                );
    /*        }       */
    
            //return $this->display(__FILE__, 'productscategory.tpl', $this->getCacheId($cache_id));
    return $this->display(__FILE__, 'productscategory.tpl');       
        }
     
    rob1n и Anvar6120 нравится это.
  7. Сергей_К

    Сергей_К

    Регистр.:
    14 июл 2016
    Сообщения:
    173
    Симпатии:
    470
    Я переделал (переназвал скорее и немного подправил под себя) аксессуары под товары. Вы мой сайт знаете, можете посмотреть на реализацию на сайте.
     
    _sashok и rob1n нравится это.