Опубликовано: 25 декабря 2015

процент скидки

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

Заранее большое Вам спасибо.

Комментарии (4)

  • Тирон Александр 18 декабря 2015 15:59 #

    1) В файле list-thumbs.html заменяем строку:

    <span class="compare-at-price nowrap">

    строкой:

    <span class="compare-at-price nowrap" data-sale="{round((1-$p.price/$p.compare_price)*100)}">

    *таких замен нужно произвести две


    2) В файле product.cart.html заменяем строку:

    <span class="compare-at-price nowrap">

    строкой:

    <span class="compare-at-price nowrap" data-sale="{round((1-$product.price/$product.compare_price)*100)}">


    3) В файлах product.js и product.min.js меняем строку:

    this.add2cart.find(".compare-at-price").html(this.currencyFormat(compare_price)).show();

    строкой:

    this.add2cart.find(".compare-at-price").html(this.currencyFormat(compare_price)).attr('data-sale',Math.round((1-price/compare_price)*100)).show();

    4) В блок пользовательских стилей добавляем правила:

    .compare-at-price {
        position: relative;
    }
    .compare-at-price:after {
        content: "Скидка " attr(data-sale) " %";
        position: absolute;
        bottom: 105%;
        left: 0;
        font-size: 0.75rem;
        display: block;
        text-decoration: none;
    }
    1
  • Тирон Александр 28 декабря 2015 14:19 #

    Внимание! Если у вас некорректно работает предыдущий вариант, попробуйте другой метод:

    1) В файле list-thumbs.html заменяем строку:

    <span class="compare-at-price nowrap">

    строкой:

    <span class="compare-at-price nowrap"><span class="compare-at-price-sale">Скидка {round((1-$p.price/$p.compare_price)*100)} %</span>

    *таких замен нужно произвести две

    2) В файле product.cart.html заменяем строку:

    <span class="compare-at-price nowrap">

    строкой:

    <span class="compare-at-price nowrap"><span class="compare-at-price-sale">Скидка {round((1-$product.price/$product.compare_price)*100)} %</span>

    3) В файлах product.js и product.min.js меняем строку:

    this.add2cart.find(".compare-at-price").html(this.currencyFormat(compare_price)).show();

    строкой:

    this.add2cart.find(".compare-at-price").html(this.currencyFormat(compare_price)).show().prepend('<span class="compare-at-price-sale">Скидка ' + Math.round((1-price/compare_price)*100) + ' %</span>');

    4) В блок пользовательских стилей добавляем правила:

    .compare-at-price {
        position: relative;
    }
    .compare-at-price-sale {    
        position: absolute;
        bottom: 105%;
        left: 0;
        font-size: 0.75rem;
        display: inline-block;
        text-decoration: none;
    }
    1
  • Тимур Ахм 1 января 2016 10:41 #

    Если нетрудно, подскажите пожалуйста, как прописать этот процент скидки в наклейке, т.е. в левом верхнем углу прямо в теле наклейки , на месте слов "хит","скидка", "new" .

    Заранее большое спасибо за ответ.

    1
    • Тирон Александр Тирон Александр 4 января 2016 12:46 #

      В файле list-thumbs.html после строки:

      <div class="badge-wrapper">

      добавьте строку:

      {if $p.compare_price > 0}<div class="corner top left"><div class="badge low-price"><span>Скидка {round((1-$p.price/$p.compare_price)*100)} %</span></div></div>{/if}

      а в файле product.images.html после строки:

      <div class="image" id="product-core-image">

      добавьте строку:

      {if $product.compare_price > 0}<div class="corner top left"><div class="badge low-price"><span>Скидка {round((1-$product.price/$product.compare_price)*100)} %</span></div></div>{/if}



      1
      • Евгений Говорухин Евгений Говорухин 28 марта 2016 16:09 #

        Отличный последний вариант! Теперь наклейка Скидка ..% появляется автоматически при указании зачеркнутой цены.

        Но есть конфликт если на этом товаре будет вручную назначена наклейка идет наложение одной наклейки на другую


        1
        • Тирон Александр Тирон Александр 28 марта 2016 16:23 #

          Замените строку:

          top

          строкой:

          top top-main

          в блоке пользовательских стилей пропишите правило:

          .image .corner.top.top-main {
              top: 15px;
          }

          *где число замените на требуемую высоту смещения этой наклейки

          1
  • Евгений Говорухин 28 марта 2016 18:47 #

    Спасибо.

    Но я другим путем вышел

    corner top right вместо left

    1

Добавить ответ

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

Услуги

Контакты

Дорогие друзья!

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

Пожалуйста, обновите браузер, скачав его по ссылкам ниже, или обратитесь к системному администратору, обслуживающему Ваш компьютер.

Internet Explorer

от Microsoft

Chrome

от Google

Safari

от Apple

Opera

от Opera Software

Firefox

от Mozilla

Вверх