Перейти к содержанию
polevser

[Решено] Небольшая доработка модуля "Акции" - условие при выводе первого товара

Рекомендуемые сообщения

Доброй ночи, столкнулся с проблемой оформления при выводе товаров через модуль "Акции" на главной странице магазина, то есть первый товар в списке оформлен иначе чем все последующие, и поэтому возник вопрос, можно ли сделать условие в шаблоне для товара который будет выводится первым в списке?

 

Вот пример того как это выглядит в идеале:

post-21748-0-18710900-1413594932_thumb.png

 

А вот код в верстке:

        <div class="special-proposal">
          <h3 class="special-proposal__title">Специальные предложения по акциям!<i class="icon--sale"></i></h3>

          <div class="special-proposal__item special-proposal__item--large">
            <a href="index.html" class="special-proposal__item__link">
              <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">
            </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a>
            <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">20 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span>
            </p>
          </div>

          <div class="special-proposal__item special-proposal__item">
            <a href="index.html" class="special-proposal__item__link">
              <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">
            </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a>
            <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">2 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span>
            </p>
          </div>
          <div class="special-proposal__item special-proposal__item">
            <a href="index.html" class="special-proposal__item__link">
              <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">
            </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW</a>
            <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">20 990</span><span class="special-proposal__item__price-wrap__currency">руб.</span>
            </p>
          </div>
          <div class="special-proposal__item special-proposal__item">
            <a href="index.html" class="special-proposal__item__link">
              <img src="images/inline/topsale__item__link__img--1.jpg" width="155" height="186" alt="Мультиварка Panasonic SR TMH18LTW" class="special-proposal__item__link__img">
            </a><a href="index.html" class="special-proposal__item__title">Мультиварка Panasonic SR TMH18LTW SR TMH18LTW</a>
            <p class="special-proposal__item__price-wrap"><span class="special-proposal__item__price-wrap__old-price">30 450<span class="special-proposal__item__price-wrap__old-price__currency">руб.</span></span><span class="special-proposal__item__price-wrap__price">3 333</span><span class="special-proposal__item__price-wrap__currency">руб.</span>
            </p>
          </div><span class="special-proposal__del-line"></span><a href="index.html" class="special-proposal__view-all">Посмотреть все специальные предложения</a>
        </div>

То есть по сути идет просто приписка в class="" вида "--large", и встает вопрос, мог ли бы кто нибудь помочь с доработкой, чтобы можно было задать условие в шаблоне?

 

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

        <!-- BEGIN .special-proposal-->
        <div class="special-proposal">
          <h3 class="special-proposal__title">Специальные предложения по акциям!<i class="icon--sale"></i></h3>
      <?php foreach ($products as $product) { ?>
          <div class="special-proposal__item special-proposal__item<!-- --large -->">
        <?php if ($product['thumb']) { ?>
            <a href="<?php echo $product['href']; ?>" class="special-proposal__item__link">
              <img src="<?php echo $product['thumb']; ?>" width="155" alt="<?php echo $product['name']; ?>" class="special-proposal__item__link__img">
            </a>
        <?php } ?>
            <a href="<?php echo $product['href']; ?>" class="special-proposal__item__title"><?php echo $product['name']; ?></a>
        <?php if ($product['price']) { ?>
            <p class="special-proposal__item__price-wrap">
          <?php if (!$product['special']) { ?>
          <span class="special-proposal__item__price-wrap__old-price"><?php echo $product['price']; ?></span>
          <?php } else { ?>
          <span class="special-proposal__item__price-wrap__old-price"><?php echo $product['price']; ?></span>
          <span class="special-proposal__item__price-wrap__price"><?php echo $product['special']; ?></span>
          <?php } ?>
            </p>
        <?php } ?>
          </div>
      <?php } ?>
          <span class="special-proposal__del-line"></span><a href="/specials/" class="special-proposal__view-all">Посмотреть все специальные предложения</a>
        </div>
        <!-- END .special-proposal-->

Можно ли задать условие if else для первого товара в списке?

 

Заранее благодарен за любую помощь!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<?php foreach ($products as $product) { ?>
>

<?php foreach ($products as $i => $product) { ?>
<div class="special-proposal__item special-proposal__item<!-- --large -->">
>

<div class="special-proposal__item special-proposal__item<?php if ($i == 0) { echo ' --large'; } ?>">

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

special-proposal__item:first-child

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<?php foreach ($products as $product) { ?>
>

<?php foreach ($products as $i => $product) { ?>
<div class="special-proposal__item special-proposal__item<!-- --large -->">
>

<div class="special-proposal__item special-proposal__item<?php if ($i == 0) { echo ' --large'; } ?>">

 

Спасибо большое! Премного благодарен!

 

 

special-proposal__item:first-child

 

Знаю, )) спасибо, но с версткой все не так просто как кажется на первый взгляд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От auditor
      380.00 руб
      Скачать/Купить дополнение


      Акция оптом [black friday promo]
      Модификатор для массового обновления акционной цены, созданный специально по запросу ко дню "Черной пятницы", так как похожего функционала не нашел, то решил написать его сам и поделится с сообществом.

       
      Инструкция:
      1. Отмечаем каталог, товары с которого хотим поддать "массовой акции"
      2. При отметке каталога, товары этого каталога автоматически появляются в правом окошке, где есть возможность поудалять товары, которые не нужно поддавать "акционированию"
      3. Тип: процент или фиксированная сумма, тоесть либо % от основной цены будет отнят, либо фиксированная сумма будет отнята от базовой цены и прописана в акционную
      4. Собственно сама цифра скидки (акции)
      5. Если нужно обновить базовую цену - то можно выбрать этот флажок, крайне не рекомендую это делать !
      6. Группа покупателя, применительно для которого будет действовать скидка
      7. Дата начала акции
      8. Дата конца акции
      9. [Не отображено на схеме] Справа вверху - сохранить, после чего страница перезагрузиться и данные будут прописаны в системе (просьба сразу проверить)
      10. [Не отображено на схеме] Справа вверху - удалить, после нажатия, все акции, которые были установлены в магазине с помощью данного модификатора - удаляються
      По всем вопросам и корректности работы скрипта - прошу сообщать в теме поддержки или в ЛС.
      Добавил auditor Добавлено 21.11.2018 Категория Цены, скидки, акции, подарки Системные требования IonCube Сайт разработчика Старая цена Метод активации Автоматическая активация Ioncube Loader Требуется OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
    • От auditor
      Модификатор для массового обновления акционной цены, созданный специально по запросу ко дню "Черной пятницы", так как похожего функционала не нашел, то решил написать его сам и поделится с сообществом.

       
      Инструкция:
      1. Отмечаем каталог, товары с которого хотим поддать "массовой акции"
      2. При отметке каталога, товары этого каталога автоматически появляются в правом окошке, где есть возможность поудалять товары, которые не нужно поддавать "акционированию"
      3. Тип: процент или фиксированная сумма, тоесть либо % от основной цены будет отнят, либо фиксированная сумма будет отнята от базовой цены и прописана в акционную
      4. Собственно сама цифра скидки (акции)
      5. Если нужно обновить базовую цену - то можно выбрать этот флажок, крайне не рекомендую это делать !
      6. Группа покупателя, применительно для которого будет действовать скидка
      7. Дата начала акции
      8. Дата конца акции
      9. [Не отображено на схеме] Справа вверху - сохранить, после чего страница перезагрузиться и данные будут прописаны в системе (просьба сразу проверить)
      10. [Не отображено на схеме] Справа вверху - удалить, после нажатия, все акции, которые были установлены в магазине с помощью данного модификатора - удаляються
      По всем вопросам и корректности работы скрипта - прошу сообщать в теме поддержки или в ЛС.
    • От ibond
      300.00 руб
      Скачать/Купить дополнение


      Акции по производителям и/или категориям для Opencart
      Модуль дает возможность массово устанавливать акции на товары определенных производителей и/или категорий. Принцип работы такой же, как и в карточке товара. Не затрагивает уже установленные акции при условии если массовая акция на производителя или категорию не совпадает с одиночной акцией.
       
      Не использует ocmod.
      Не использует vqmod.
      Не заменяет файлов.
       
      Установка: инструкция внутри архива.
       
      Демонстрация (admin).
      Логин: demo
      Пароль: demo
       
      Демонстрация (страница категории).
       
       
      Добавил ibond Добавлено 09.09.2018 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика https://open.cc.ua Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось  
    • От ibond
      Модуль дает возможность массово устанавливать акции на товары определенных производителей и/или категорий. Принцип работы такой же, как и в карточке товара. Не затрагивает уже установленные акции при условии если массовая акция на производителя или категорию не совпадает с одиночной акцией.
       
      Не использует ocmod.
      Не использует vqmod.
      Не заменяет файлов.
       
      Установка: инструкция внутри архива.
       
      Демонстрация (admin).
      Логин: demo
      Пароль: demo
       
      Демонстрация (страница категории).
       
       
    • От Otvet
      300.00 руб
      Скачать/Купить дополнение


      SEO для Акций
      Если изучить частоту запросов, довольно часто люди ищут "скидки", "распродажа", "акции" и т.д.
      Наиболее подходящей страницей для таких запросов является страница Акции, но она лишена SEO функционала
      Модуль решает данную проблему
      Функционал:
      - Title и Description для страницы Акций
      - H1 для страницы Акций
      - Описание для страницы Акций
      - Мультиязычность
      - Ссылка "Все Акции" в модуле и карточках товаров с акционными ценами
      Установка 2.x/3.0.x:
      - скачайте файл *.ocmod.zip
      - удалите папку uploads/vqmod если есть в архиве
      - проверьте корректную работу установщика с FTP (90% проблем с этим, модуль не причем)
      - установите модуль через стандартный интрумент “Дополнения - Установка дополнений”, в магазине должен быть настроен FTP
      - зайдите в “Дополнения - Модификации” и обновите кеш модификаций
      - зайдите в “Дополнения - Модули” и активируйте модуль
      - настройте по вашему усмотрению и сохраните
      Установка 1.5.x:
      - скачайте файл *.ocmod.zip
      - распакуйте содержимое uploads в корень сайта
      - зайдите в “Дополнения - Модули” и активируйте модуль
      - настройте по вашему усмотрению и сохраните
      Добавил Otvet Добавлено 26.04.2016 Категория SEO, карта сайта, оптимизация Системные требования Сайт разработчика Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1 OpenCart.Pro, ocShop  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.