product.cart.html

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

На данный момент все товары "По запросу", сделал так

<div class="add2cart">
        <div class="product-price"><span class="price-label">Цена: </span>
            <span class="compare-at-price nowrap"></span>
            <span data-price="" class="price3">по запросу</span>    


                
            <meta itemprop="price" content="{shop_currency($product.price, $product.currency)}" />
        </div>
        <input type="hidden" name="product_id" value="{$product.id}">


2 ответа

  • 1

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

    <meta itemprop="price" content="{shop_currency($product.price, $product.currency)}" />

    • +1
      Kron Kron Kron Kron 17 мая 2018 15:06 #

      Например номер подкатегории ID13 указан в админке.

      Я что-то упускаю, а точнее мало знаком с конструкциями условий на webasyst. Подскажите ,что не так?

          <div class="add2cart">
              <div class="product-price"><span class="price-label">Цена: </span>
                  <span class="compare-at-price nowrap"></span>
      			{if ($product.category_id == 13)
      			<span data-price="" class="price3">{shop_currency_html($product.price)}</span>	
      			{else}
                              <span data-price="" class="price3">по запросу</span>	
              </div>
      


      • +1

        В настройках категорий, дополнительные параметры, пишем view=1 показывать или нет

        и потом в шаблоне товара пишем код

        {$category = $wa->shop->category($product.category_id)}
        {if !empty($category.params.view) && $category.params.view == 1}
            показываем цену
        {else}
            не показываем цену
        {/if}
  • 1
    replicant 17 мая 2018 15:11 #

    Решение в общем виде выглядит так

    {if $product.category_id == 'подставить нужный id категории с ценами'}
        <span class="price nowrap">{shop_currency($product.price)}</span> - показываем цену
    {else}
         <span>Цена по запросу</span> - показываем фразу
    {/if}

    Есс-но нужно по месту смотреть как и что именно надо подправить в шаблоне вашей темы, т.к. там могут быть артикулы, зачеркнутые цены и т.п. особенности, но условие на проверку id категории и два его исхода необходимы.

    В рамки условия заключается все, что нужно скрыть или показать, если условие не выполняется. Возможно таких блоков в шаблоне будет несколько и надо решить, будет ли туда включаться кнопка Купить + купить в один клик (при наличии плагина) или нет. Будьте к этому готовы.

    И не забывайте про микроразметку meta itemprop ибо палево, когда цены скрыты, но далеко не везде.

    Возможно будет надо что-то скрыть в шаблоне product.html типа ссылки добавления к сравнению, если есть. В сравнении будет выдаваться цена и оттуда её надо выпиливать, если ссылку не скрывать. Еще в шаблонах для показа товаров в категории цены тоже выводятся. Мелкой работы так не так мало, как кажется.


    • +1
      Kron Kron Kron Kron 17 мая 2018 15:20 #

      Мне нужно для всего "по запросу", что для артикулов и без, кроме определенной категории)

      Попробовал Ваш код, выводит так же во все товары "По запросу".. Может, что-то упустили?

      Спасибо, за пояснение конструкции!

      • +1

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

        • +1
          Kron Kron Kron Kron 17 мая 2018 15:29 #

          Подскажите, а как тогда сделать? "заведите параметр у категории и делайте проверку в шаблоне", есть пошаговая инструкция?

          • +1

            если для одной категории, то хватит как описал replicant

            А так если в друг для нескольких категорий, то мое решение подойдет, а доп параметры в настройках категории в админке сайта внизу



          • +2
            replicant replicant 17 мая 2018 15:36 #

            В настройках категории есть такое поле "Дополнительные параметры" туда и писать view=1 или любую вашу фантазию со знаком равно.

            И не забывайте, что когда начинаете открывать конструкцию {if что-то там} ... {else} то обязательно закрывать конструкцию {/if}, а то в вашей цитате в коде закрытия условия нет. Отсюда могут быть ошибки.

            А выбрать по id категории скрывать или по доп. параметру - дело личное. По параметру более универсально будет, но смысл в принципе не меняется.

            • +1
              Kron Kron Kron Kron 17 мая 2018 15:45 #

              Добавил там в своей категории "view=1" для примера.

              А как вызывается параметр? Попробовал так - не работает


               <span class="compare-at-price nowrap"></span>
              	    {if $view == '1'}
                          <span class="price nowrap">{shop_currency_html($product.price)}</span>
                          {else}
                          <span>по запросу</span>
                          {/if}


              • +2

                В шаблоне

                {$category = $wa->shop->category($product.category_id)}
                <span class="compare-at-price nowrap"></span>
                {if !empty($category.params.view) && $category.params.view == 1}
                    <span class="price nowrap">{shop_currency_html($product.price)}</span>
                {else}
                    <span>по запросу</span>
                {/if}
                • +1
                  Kron Kron Kron Kron 17 мая 2018 15:52 #

                  Да, заработало! Буду разбираться)

                  Спасибо Вам Koin и replicant !

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

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