Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Выделение товара,имеющего "опции"


Recommended Posts

Добрый день! необходим способ выделения из общего списка товара, имеющего  в наборе "опции". Занимаемся запасными частями кузова для автомобилей,как под покраску,так и уже окрашенными. Так клиент не всегда видит в описание товара "в цвет". Думал что то наподобие стикера,но не нашел подходящего модуля

Надіслати
Поділитися на інших сайтах


https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=Omx9ZsPKY0OelaDQh7YXYAnDAdtetfcC&extension_id=38135

 

Возможность вывести вариации, при клике на опцию отображается детальная информация, атрибуты описание, наличие

Змінено користувачем HasikBoy
Надіслати
Поділитися на інших сайтах

В 14.02.2020 в 20:22, Castiil сказал:

Опишите детальнее 

вот пример. Два одинаковых продукта,НО один бампер продается уже крашенный в цвет(в опциях у него есть список выбора цвета). ЗАДАЧА: выделить продукт с опциями,так как слово "в цвет" сало кто замечает

Screenshot_6.png

Надіслати
Поділитися на інших сайтах


В 15.02.2020 в 12:47, Pascha сказал:

Можно что то типа такого

контроллер после
 


$data['products'][] = array(

'options'      => $options,

в тпл где нужно код стикера


<?php if ($product['options']) { ?>
<div class="options-sticker">бла бла бла</div>
<?php } ?>

или с языковой переменной, если мультриязычный


<?php if ($product['options']) { ?>
<div class="options-sticker"><?php echo $text_sticker; ?></div>
<?php } ?>

само собой прописать переменную в контроллере и прописать в языковых локализациях для каждого языка

стилизовать по своему усмотрению

примерно понял,но не понял))))....можно чуть поподробнее?) пожалуйста

Надіслати
Поділитися на інших сайтах


Если это два разных товара (как на скрине), то явно отличие должно быть в названии. Или пример не удачный(на скрине) или же вы сами пока не поняли до конца , что нужно.

Есть некая запчасть на замену, у этой запчасти есть несколько состояний, это :

Не окрашенная

Окрашенная в цвет кузова.

Почему не вывести это в опции, только в одном товаре?

А если нужно в виде двух разных товаров, почему не указать сразу в названии товара?

Надіслати
Поділитися на інших сайтах

43 минуты назад, Tom сказал:

Почему не вывести это в опции, только в одном товаре?

А если нужно в виде двух разных товаров, почему не указать сразу в названии товара?

указано "в цвет",но не все замечают. в одном нельзя,так как разные производители зачастую,это на скрине так совпало,что одинаковые

 

Надіслати
Поділитися на інших сайтах


Еще вариант создать атрибут 

Окрашено да нет 

Вывод attribute_id = 5 ( если у вас 5) 

 Проверка да или нет если да вывод

Также будет реализации сделать в фильтре... Это вообще идеальный вариант 

  • +1 1
Надіслати
Поділитися на інших сайтах


9 минут назад, Pascha сказал:

я уже писал об этом


<?php if ($product['options']) { ?>

<?php foreach ($options as $option) { ?>

<?php if ($option['option_id'] == 27) { ?> 

<div class="options-sticker">В цвет</div> 

<?php } ?>

<?php } ?>

<?php } ?>

где 27 = ID нужной опции

Ну тут да 2 варика 100% 

Опции с проверкой 

Атрибут с проверкой 

Надіслати
Поділитися на інших сайтах


думаю,вариант с "Атрибут с проверкой" мне больше подойдет, так как опций порядка 20,и я так понимаю,для каждой придется прописывать проверку??

как реализовать тогда с проверкой атрибута "состояние"?? в моем случае,этот атрибут имеется только у нужных мне продуктов для выделения из общего потока,не смотря что у них разные опции (разные цветовые гаммы)

Змінено користувачем artem77777
Надіслати
Поділитися на інших сайтах


    в контролере:

$data['products'][] = array(
            
                    
                    'attribute_id=16'   => $result['attribute_id=16'],
                    'manufacturer_img' => $manufacturer_img,
                    'product_id'  => $result['product_id'],
                    'thumb'       => $image,
                    'name'        => $result['name'],
                    'model'          => $result['model'],
                    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
                    'price'       => $price,
                    'special'     => $special,
                
               в шаблоне:

 

 <?php if ($product['attribute_id=16']) { ?>
         бла бла бла
            <?php } ?></br>
      

 

 

результат:

 

Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382 
       

Змінено користувачем artem77777
Надіслати
Поділитися на інших сайтах


9 минут назад, Pascha сказал:

ерунда... условие должно читаться так
если есть опция с ID равным такому то числу, то выводить стикер, иначе ничего не выводить... ни каких дополнительных проверок... но как знаете
 

но это лесть надо и искать их id)))да и редактировать код тогда при добавлений опций)) проще тогда же прописать код только для одного нужного атрибута

Змінено користувачем artem77777
Надіслати
Поділитися на інших сайтах


10 минут назад, Pascha сказал:

ерунда... условие должно читаться так
если есть опция с ID равным такому то числу, то выводить стикер, иначе ничего не выводить... ни каких дополнительных проверок... но как знаете
 

я имел ввиду,у меня 20 опций,и для каждой этой опции должно действовать это правило

 

Надіслати
Поділитися на інших сайтах


22 минуты назад, artem77777 сказал:

    в контролере:

$data['products'][] = array(
            
                    
                    'attribute_id=16'   => $result['attribute_id=16'],
                    'manufacturer_img' => $manufacturer_img,
                    'product_id'  => $result['product_id'],
                    'thumb'       => $image,
                    'name'        => $result['name'],
                    'model'          => $result['model'],
                    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
                    'price'       => $price,
                    'special'     => $special,
                
               в шаблоне:

 

 <?php if ($product['attribute_id=16']) { ?>
         бла бла бла
            <?php } ?></br>
      

 

 

результат:

 

Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382Notice: Undefined index: attribute_id=16 in /home/c/cd76988/ronexavto/public_html/system/storage/modification/catalog/controller/product/category.php on line 382 
       

 

 

 

что тут я не правильно делаю???

Надіслати
Поділитися на інших сайтах


2 минуты назад, Pascha сказал:

опять промах...
ID генерируется 1 раз и является величиной постоянной... и да... прийдется лезть в админку..открыть эту опцию и посмотреть ее ID  в адресной строке браузера... ну это да...согласен... намного сложнее чем поместить в массив 


 'attribute_id=16'   => $result['attribute_id=16'],

я б вырвал руки и поместил бы в кунсткамеру мозг того, кто Вам посоветовал такой вывод ID...

 

не надо!!! я все го лишь попытался догадаться......Но вышел "промах"))))

Надіслати
Поділитися на інших сайтах


7 минут назад, Pascha сказал:

опять промах...

а то мы с вами как в "поле чудес"......вы как я якубович:"опять промах...".....а я барабан кручу и репу чешу..."как реализовать этот код"))))

Змінено користувачем artem77777
Надіслати
Поділитися на інших сайтах


В админке полно неиспользуемых полей типа  mpn, isbn, jan  итп. Будет мне кажется проще вывести.

Надіслати
Поділитися на інших сайтах

4 минуты назад, Tom сказал:

В админке полно неиспользуемых полей типа  mpn, isbn, jan  итп. Будет мне кажется проще вывести.

возможно.....Но...это если продукты только наполняются и сразу заполняется значение,но магазин уже наполнен.единственное что объединяет нужные мне продукты - это атрибут "состояние". а их около 1000....что то не хочется мне их выискивать и заполнять нужную строчку))

Змінено користувачем artem77777
Надіслати
Поділитися на інших сайтах


3 минуты назад, Pascha сказал:

и что с того? хоть 2000...
вы задаете поиск по всем ID опций которые есть у Вас в товаре... 
если у этого товара есть опция с ID равной 27 (например опция Цвет - а не красный синий, зеленый), то мы выводим стикер с надписью, если нет- не выводим... 
то есть условие срабатывает только при определенном условии, не более и не менее...чего то дополнительного (условий, других ID) не требуется...

напишу условие по русски: 


<?php если в вашем городе живет 3500 женщин { ?>

<?php ищем среди всех женщин ?>

<?php  == Василиса Прекрасная) { ?> 

<div class="options-sticker">Моя любимая жена</div> 

<?php } ?>

<?php } ?>

<?php } ?>

в каком месте тут еще дополнительные условия для оставшихся 3499 женщин?

 

 

да это я понял)я про то,что если вдруг у меня появится опция для другой категории товаров,для которой не нужно выводить стикер(к примеру).....то как быть??

Надіслати
Поділитися на інших сайтах


Just now, artem77777 said:

 

да это я понял)я про то,что если вдруг у меня появится опция для другой категории товаров,для которой не нужно выводить стикер(к примеру).....то как быть??

тогда подправите условие на 

<?php == Василиса Прекрасная или Прасковья Премудрая) { ?>

Надіслати
Поділитися на інших сайтах

1 час назад, Pascha сказал:

я уже писал об этом


<?php if ($product['options']) { ?>

<?php foreach ($options as $option) { ?>

<?php if ($option['option_id'] == 27) { ?> 

<div class="options-sticker">В цвет</div> 

<?php } ?>

<?php } ?>

<?php } ?>

где 27 = ID нужной опции

я к тому что,если для 20ти опций это правило должно работать,а для 5ти опций - нет

Надіслати
Поділитися на інших сайтах


не могли бы вы показать на коде,как это должно быть прописано......мол если есть опция, но кроме опция id=1 ??буду очень благодарен

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.