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

[Решено] Вывод иконок в зависимости от значения атрибута


Recommended Posts

Короче, делаю магаз шин... В атрибутах будут разные параметры, в том числе сезонность: зимние, летние, всесезонки...  Как бы в каталог вывести иконки в зависимости от значения атрибутов? В php плохо соображаю =(((

 

 

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


Посмотрите модуль "Бесплатные простые стикеры"

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

Есть готовый модуль, который позволяет в зависимости от значения атрибута автоматически выставлять стикеры и статусы для товаров:

https://opencartforum.com/files/file/2590-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D1%8B-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0-pro-%D0%B0%D0%B2%D1%82%D0%BE%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D1%8B-%D1%81%D1%82%D0%B8%D0%BA%D0%B5%D1%80%D1%8B/

это вторая ПРО версия модуля, если дорого, то есть первая версия, она немного проще то и дешевле.

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

Корявые, платные модули  и предложение услуг - это всё очень здорово! Но нужна помощь в написании кода, который будет проверять наличия значения атрибута, что то типа  -

<?php if ( $attribute['name'] == 'Сезонность' && $attribute['text'] == 'Зимняя') {
    echo 'Здесь контент, стикер';
} ?>
Надіслати
Поділитися на інших сайтах


что-то типа "сделайте за меня бесплатно"?

 

особенно на фоне "..В php плохо соображаю"

 

нет знаний и желания платить за готовые решения - учить, делать самому

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

Надеюсь, минус в мою репу поднял вам самооценки... 

В общем извните, я просто ошибся темой, хотел в эту написать https://opencartforum.com/forum/40-помощь-программистам-и-разработчикам/ а так как писал ночью - перепутал. Теперь понятно, почему такие ответы накидали =)))

 

нет знаний и желания платить за готовые решения - учить, делать самому

 

Вот вы мне покажите пример - как это сделать и я научусь! Буду делать так же, по аналогии - на других своих проектах...

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


раздел помощи программистам и разработчикам предполагает наличие у вас знаний и умений

помощи в нем просят, выкладывая уже готовый код, в котором где-то затык

 

у вас есть что выложить?

 

у меня нет прав плюсовать/минусовать репутацию, но будь возможность - за тот ответ влепил бы и от себя

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

У меня есть небольшие знания в php, хорошо знаю wordpress! А OpenCart похуже... Код у меня тоже есть! 

<?php if ( $attribute['name'] == 'Сезонность' && $attribute['text'] == 'Зимняя') {
    echo 'Здесь контент, стикер';
} ?>
Надіслати
Поділитися на інших сайтах


Читайте ЭТУ тему, выводите атрибуты в категории и там уже ставьте условия, но думаю потраченное время будет стоить дороже готового модуля который предлагали выше.

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


Спасибо! Денег мне не жалко, тем более модули совсем недорогие... + я сам ненавижу халявщиков, однако хочу осуществить это с помощью минимального кол-ва кода, чисто и аккуратно (без модулей).

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


Кому нужно, вот решение моей проблемы  -

<?php if ($attribute_groups) { ?>
<?php foreach ($attribute_groups as $attribute_group) { ?>
<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<?php if ( $attribute['name'] == 'Сезонность' && $attribute['text'] == 'Зимняя') {
    echo 'Любой контент';
} ?>
<?php } ?>
<?php } ?>
<?php } ?>

"Любой контент" - например иконка снежинки, как в моём случаи. Если прописать в контроллере функционал по выводу данной информации для соответствующих модулей и страниц, условие можно будет вывести где угодно! И никаких модулей не нужно!

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


раствор замешивать и на ославьте можно, но ведь есть бетоно мешалка. Неправда ли ? 

И если вам понадобится еше что то сделать вы опять так грубо вмешиваться будете? 

А что будет после реализации 10-15 задач вашим методом ? 

А как поддерживать такое творение в дальнейшем ?

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

Извините, что вмешался в свой собственный пост! 

 

А что будет после реализации 10-15 задач вашим методом ? 

А как поддерживать такое творение в дальнейшем ?

 

А никак, 3-5 стикеров вывести таким методом - это за глаза! Поддержки никакой не надо, всё работает как элементарное - 

<font color="red">ti lolik malenkiy</font>
Этому коду, например, требуется какая то поддержка?   :-D

 

И да, зачем бетономешалка, если нужно горсть раствора? Всё гениальное просто, не надо здесь людей разводить. Кстати, именно поэтому я назвал вышеуказанные модули  - корявыми, коими они и являются.

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


Итак, итоги, решение проблемы для категорий, модулей и страницы товара -

 

Для модулей в контроллер -

 

сразу после 

'reviews'    => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),

добавляем

'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),

Для вывода атрибутов в модулях или категориях - 

<?php if($product['attribute_groups']) { ?>
<?php foreach($product['attribute_groups'] as $attribute_group) { ?>
<?php if(!strpos($attribute_group['name'], "—")) {?>
<?php foreach($attribute_group['attribute'] as $attribute) { ?>
<b><?php echo $attribute['name']; ?></b> <?php echo $attribute['text']; ?><br>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>

Для вывода стикеров, для организации условия  -

 

<?php if($product['attribute_groups']) { ?>
                <?php foreach($product['attribute_groups'] as $attribute_group) { ?>
                        <?php foreach($attribute_group['attribute'] as $attribute) { ?>
                           <?php if ( $attribute['name'] == 'Сезонность' && $attribute['text'] == 'Зимняя') {echo '<div class="inline-info"><b>Сезон</b> Зима</div>';} ?>
                        <?php } ?>
                <?php } ?>
            <?php } ?>

Проблема решена. Спасибо krumax!

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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