Jump to content

Recommended Posts

Всем доброго времени суток!

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

{% if price %}
                            <ul class="list-unstyled product-prices">
                                {% if not special %}
                                <li>
                                    <h2>{{ price }}</h2>
                                </li>
                                {% else %}

                                <li>
                                    <h2>{{ special }}</h2>
                                </li>
                                <li>{{ price }}</span></li>
                                {% endif %} {% if tax %}
                                <li>{{ text_tax }} {{ tax }}</li>
                                {% endif %} {% if points %}
                                <li>{{ text_points }} {{ points }}</li>
                                {% endif %} {% if discounts %}
                                <li>
                                    <hr>
                                </li>
                                {% for discount in discounts %}
                                <li>{{ discount.quantity }}{{ text_discount }}{{ discount.price }}</li>
                                {% endfor %} {% endif %}
                            </ul>
                            {% endif %}

 

Edited by VladyslavKalyuzhnyy

Share this post


Link to post
Share on other sites

в контроллере приводите к 0 или false

 

в шаблоне уже 

{% else %}
<span> bla bla </span>

 

Share this post


Link to post
Share on other sites
22 минуты назад, VladyslavKalyuzhnyy сказал:

Всем доброго времени суток!

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


{% if price %}
                            <ul class="list-unstyled product-prices">
                                {% if not special %}
                                <li>
                                    <h2>{{ price }}</h2>
                                </li>
                                {% else %}

                                <li>
                                    <h2>{{ special }}</h2>
                                </li>
                                <li>{{ price }}</span></li>
                                {% endif %} {% if tax %}
                                <li>{{ text_tax }} {{ tax }}</li>
                                {% endif %} {% if points %}
                                <li>{{ text_points }} {{ points }}</li>
                                {% endif %} {% if discounts %}
                                <li>
                                    <hr>
                                </li>
                                {% for discount in discounts %}
                                <li>{{ discount.quantity }}{{ text_discount }}{{ discount.price }}</li>
                                {% endfor %} {% endif %}
                            </ul>
                            {% endif %}

 

 

 

Share this post


Link to post
Share on other sites

if ((int)$price == '0')

Share this post


Link to post
Share on other sites
Красным добавил                          

                            {% if price %}
                            <ul class="list-unstyled product-prices">
                                {% if price == 0 %}                                
                                <span> Цена неизвестна </span>
                                {% elseif not special %}
                                <li>
                                    <h2>{{ price }}</h2>
                                </li>
                                {% else %}

                                <li>
                                    <h2>{{ special }}</h2>
                                </li>
                                <li>{{ price }}</span></li>
                                {% endif %} {% if tax %}
                                <li>{{ text_tax }} {{ tax }}</li>
                                {% endif %} 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Exploits
      1 500.00 руб
      Скачать/Купить дополнение


      UniXML Pro - модуль выгрузки в XML формате в любые маркетплейсы
      Модуль UniXMLPro это универсальное решение для создание выгрузок в XML формате в любые маркетплейсы или места которые принимают товары магазина.
      Видео обзор модуля

      На данный момент в модуле:
      Выгрузка в rozetka.com.ua (розетка) Выгрузка в hotline (Хотлайн) Выгрузка в price.ua (Прайс) Выгрузка в nadavi (Надави) Выгрузка в google merchant (Гугл мерчант) Выгрузка в prom.ua (ПРОМ) Выгрузка в yandex market (Яндекс Маркет) Выгрузка в cdek (СДЭК) Выгрузка в goods (Гудс) Выгрузка в mobilluck (Мобилак) Выгрузка в allo.ua (Алло) Выгрузка в fotos.ua (f.ua) Выгрузка в privat (Приват маркет) Выгрузка в joom Выгрузка в olx Выгрузка в beru.ru (Беру) Выгрузка в kidstaff (Кидстаф) Выгрузка в bigl (БИГЛ) Выгрузка в froot (ФРУТ) Выгрузка в regmarkets (Регмаркетс) Выгрузка в besplatka (Бесплатка) Выгрузка в skidochnik.com.ua (Скидочник) Выгрузка в metamarket.ua (Метамаркет) Выгрузка в facebook Выгрузка в vcene (В цене) Выгрузка в obyava (Об'ява) Выгрузка в ekatalog (Е-каталог) Все что пожелает клиент ДО покупки дорабатывается. Например, нужна еще и выгрузка в какой-то маркет - не проблема, будет оперативно выполнено, если это уже не будет в модуле. Ваше пожелание - это ТЗ к выполнению. Конечно, рамки приличия и адекватности никто не отменял)
      -----------
      Демо
      https://demo23.microdata.pro/
      логин: demo
      пароль: demo777
      просьба посмотреть и ничего не ломать:)
      -----------
      Планы что добавить в модуль:
      Карта сайта XML (супер оптимизированная, которая работает очень быстро и не грузит сервер)
       
      В чем фишка модуля спросите вы:
      Он не кодирован ioncube Безопасный и оптимизированный код, просчитана каждая мелочь, запрос в базу идет забирая только необходимые поля. Все тщательно продумано. Очень гибкие настройки. Выгрузку можно сделать любую и на любом магазине, даже если он сильно переделан и база перекручена. Можно прописать свой код забора любых данных из базы или же свои условия выгрузки цен от и до или же выгрузки с определенных складов. Да все что угодно. Кастомизировать можно полностью Отличная документация В нем изначально оптимизированный код который отлично работает с большими магазинами. Например в магазине с более чем 50 000 товаров выгрузка генерирует файл размером в 170МБ за 70 секунд. Это учитывая что в настройках модуля есть много автозамен и генераций. Изначально подход был в том что бы сделать решение которое будет работать с коробки. Бесплатные обновления после покупки навсегда Быстрая премиум поддержка в случае возникновения вопросов. Возможности модуля:
      Можно выбрать язык и валюту выгрузки Можно выбрать из какого поля берем id товара. Вернее что подставляем в id товара Можно указать наценку на товар, также можно сделать наценку на каждую категорию либо процент, либо фикс число Есть шикарный функционал кастомного  php кода который можно выполнять в модуле при генерации. Здесь максимальная гибкость и настроить можно все что надо будет. От наценки с супер сложной формулой до кастомных замен, выводов поле или же изменения выгрузки конкретного товара. Да все что угодно. Можно делать приставку к ссылке товара в XML. Например можно ставить свои UTM метки или же GET параметры, также можно использовать переменные в таких приставках. Очень удобно. Можно задать стоимость доставки, цену и час перескока для некоторых маркетплейсов. Есть настройки выборки дополнительных полей из базы данных для выгрузки что значительно расширяет возможности при сохранении скорости работы. Крайне полезно для сильно переделанных магазинов Можно выбрать из какого поля цена должна попадать в выгрузку - очень удобно если для маркетплейса есть своя цена и она хранится в базе. В модуле есть настройка - количество за раз которая позволяет дозировать нагрузку на сервер. Количество за раз это то количество товаров которое забирается с базы за один проход. Сама выгрузка не берет все товары, она делает это порционно и как раз с помощью этой настройки можно изменять порцию в зависимости от памяти на сервере и тайм-лимитов. Есть возможность указать привязку к главной категории при наличии seopro. Это очень полезно т.к. модуль берет категорию товара та что указана как главная. Если же главные категории не указаны то можно поставить не привязываться и модуль сам постарается забрать конечную категорию товара. В модуле можно задать файл логирования выгрузки где будет информация о времени генерации, потреблении оперативной памяти, количество товара и другие интересные данные. Файл лога можно указать любой. Это очень удобно для контроля выгрузки. Опция привязка к количеству. Если нет товара можно его не выгружать, однако можно и не привязываться выгружая весь товар. Также можно выбрать статус товара при его отсутствии при котором он будет в наличии в XML фиде Умножение товаров на опции. Очень полезный функционал который позволяет выгружать каждую опцию товара как отдельное предложение. Например если у вас есть 5 размеров то при включении этой настройки будет в выгрузке 5 товаров в разных размерах вместо одного. Если 5 размеров и 3 цвета то будет генерироваться 15 товаров. Это необходимое условие для некоторых маркетплейсов. Генерация названий товара по шаблону. В который можно вставить любое поле из базы данных (таблицы product - product_description), значение опции, любой атрибут или же любое значение из массива информации товара. Это дает потрясающую гибкость! Возможность задать только определенные товары/категории или же бренды для выгрузки. Также есть возможность запретить выгружать некоторые товары. Можно выбрать логику выборки Категории - Бренды (И - ИЛИ) Есть возможность заменить название категорий и настроить соответствие Категория магазина - Категория выгрузки. Это крайне полезно из-за того что некоторые маркетплейсы требуют полное соответствие в названиях категорий как на их сайте. А из-за выгрузки менять название категорий у себя на сайте как-то не очень. Из-за чего и был сделан этот функционал. Также для каждой категории можно задать наценку и свои теги! Это мега гибко и классно. Например для категории Холодильники можно задать свои условия доставки или же любую другую информацию которая заменит основную если это уже было. C версии 5.9 был добавлен функционал групп наценки. Теперь можно создать группу наценки и добавить туда товары, проставить им наценку. Есть функционал импорта товаров в группу. В модуле максимально продуман интерфейс и можно настроить какие маркетплейсы в админке не отображать что бы было удобно и ничего не мешало. Также можно отфильтровать по странам маркетплейсы. Экспорт/Импорт настроект позволяет копировать настройки любого маркетплейса на любой маркетплейс или же делать бекап настроек. Это очень удобно и безопасно при настройке модуля. Функционал списка замены что на что меняем. Этим можно вырезать или заменить ненужные куски текста в названиях, описаниях, брендах, характеристиках и т.п. данных. Например если в текстах есть название магазина то его можно вырезать или же заменять на что-то другое. Проверка на наличие фото, также можно настроить не подвязку к фото - есть нет у товара изображения его можно не выгружать Есть настройка выгрузки дополнительных фото Выгрузка атрибутов, как всех, так и выбранных. Также можно задать соответствие названий Атрибут магазина - Атрибут выгрузки. У многих маркетплейсов есть требования называть характеристики точно также как и у них в маркете. Зачастую в магазине атрибуты названы совсем иначе, но как раз этот функционал все это и исправляет Возможность задать дополнительные параметры с функцией подстановки значений из любого поля базы (таблицы product/product_dscription), значение опции или же из массива информации о товаре. Конечно, можно прописать и свой текст. Например если у вас в магазине в поле location идет гарантия то ее можно вывести в выгрузку без каких-либо правок кода, все через админку. Также добавлена возможность указать кастомные теги в XML что дает потрясающую гибкость. Есть шикарная возможность генерировать описание товара также с подстановкой любых данных. И конечно есть настройка режима генерации описаний. Можно сделать только генерацию в товарах в которых нет своего описания И конечно добавлен ключ защиты что бы конкуренты или какие-то боты не запускали каждый раз выгрузку и не грузили магазин. Можно запускать генерацию по крону например раз в сутки ночью он будет создавать xml файл который хоть каждую минуту будет забирать маркетплейс без какой-либо нагрузки на магазин.  
      Если здесь нет, то что хотели бы видеть в модуле - я с радостью прислушаюсь и возьму в задание на доработку функционала, но на данный момент сделая порядка 50+ выгрузок под заказ на маркетплейсы я постарался предусмотреть все. Но, все предусмотреть прктически нереально - буду рад любому интересу к модулю.
       
      Модуль доступен для 1.x - 2.х - 2.3 - 3.x версии. То есть работает на всех версиях Opencart.
       
      Лицензия модуля - для одного домена. Есть услуги по внедрению выгрузки под ключ на любой маркетплейс.
       
      Для установки достаточно установить модуль через админку и для версии 1.х загрузить все из папки upload в корень сайта.
       
      Если часть настроек не сохраняются добавьте в .htaccess строку php_value max_input_vars 20000
      Если стоит модуль v2 page cache откройте файл system/library/v2pagecache.php и после строки private $skip_urls= array( добавьте '#feed/#',
      Если ругается на price в Opencart 3 загрузите папку price из папки upload в корень сайта
       











      Добавил Exploits Добавлено 06.06.2019 Категория Обмен данными Системные требования Сайт разработчика https://unixml.microdata.pro Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      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
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Да  
    • By mpn2005
      500.00 руб
      Скачать/Купить дополнение


      [OC3] Обновление цены при выборе опции, без AJAX
      Модуль динамически изменяет цену товара при выборе опции и изменении количества товара.
      Дополнительные действия к цене опции: =, %, *,  /.
       
      Демо:
      OpenCart v3.0.2.0: Демо1 Демо2 (акция)
       
      Возможности:
      Учитывается акция на товар Учитывается скидка на товар Обновление цены с учётом налогов Обновление цены в бонусных баллах (вкл / выкл) Умножение цены на введённое количество товара (вкл / выкл) Акция на опции пропорционально акции на товар  (вкл / выкл) Скидка на опции пропорционально скидке на товар (вкл / выкл) Автоматический выбор первой опции (вкл / выкл) Вывод цены в дополнительной валюте (вкл / выкл) Не показывать цену опции Дополнительные действия к цене опции: =, %, *,  /. Поддержка шаблонов: UniShop, LightShop, NewStore и друие  
      Настройки модуля находятся на закладке Локализация в конфигурации магазина
       
      Версия для OC1.5, OC2
       
      Особенности работы:
      Не используется AJAX, поэтому при подсчёте скидок учитывается только введённое количество (товар, лежащий в корзине, в расчёте не участвует). Добавил mpn2005 Добавлено 21.04.2018 Категория Опции Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • By mpn2005
      Модуль динамически изменяет цену товара при выборе опции и изменении количества товара.
      Дополнительные действия к цене опции: =, %, *,  /.
       
      Демо:
      OpenCart v3.0.2.0: Демо1 Демо2 (акция)
       
      Возможности:
      Учитывается акция на товар Учитывается скидка на товар Обновление цены с учётом налогов Обновление цены в бонусных баллах (вкл / выкл) Умножение цены на введённое количество товара (вкл / выкл) Акция на опции пропорционально акции на товар  (вкл / выкл) Скидка на опции пропорционально скидке на товар (вкл / выкл) Автоматический выбор первой опции (вкл / выкл) Вывод цены в дополнительной валюте (вкл / выкл) Не показывать цену опции Дополнительные действия к цене опции: =, %, *,  /. Поддержка шаблонов: UniShop, LightShop, NewStore и друие  
      Настройки модуля находятся на закладке Локализация в конфигурации магазина
       
      Версия для OC1.5, OC2
       
      Особенности работы:
      Не используется AJAX, поэтому при подсчёте скидок учитывается только введённое количество (товар, лежащий в корзине, в расчёте не участвует).
    • By Feech
      Поддержка: OpenCart 3.x.x.x
      Возможности:
      Выводит дату последней модификации для страниц категорий, товаров и статьей и для главной страницы. Можно менять вручную дату последней модификации категорий Можно менять вручную дату последней модификации статей Можно менять вручную дату последней модификации главной страницы Установить:
      Модули/Расширения -> Установка расширений. Выбрать архив с модулем и Загрузить. Модули/Расширения -> выбрать установленный модуль (Last Modified ...) -> Активировать Зайти в активированный модуль и установить время для главной страницы Модули/Расширения -> Модификаторы. Нажать кнопку Обновить  
      Обращаем ваше внимание, что заголовок LastModified не отдаётся для WWW-доменов с включенным SSI.
      Перед покупкой проверьте передает ли ваш сервер параметры $_SERVER['HTTP_IF_MODIFIED_SINCE'] или $_ENV['HTTP_IF_MODIFIED_SINCE']
      * Если при установке модуля возникает ошибка "Директория не доступна для записи!" - необходимо поставить бесплатный модуль Localcopy OCMOD для Opencart 3
       
      Зачем нужен Last-Modified
      HTTP заголовок Last-Modified сообщает клиенту время последнего изменения страницы (объекта). Если клиент (браузер, поисковый робот) получил заголовок Last-Modified, то при следующем обращении к адресу, при условии, что страница (объект) есть в локальном кеше, он добавит вопрос If-Modified-Since(не изменилась ли страница после даты, полученной в Last-Modified). В свою очередь сервер, получив запрос If-Modified-Since должен сверить полученную временную метку с временем последнего изменения страницы и, если страница не изменялась ответить 304 Not Modified.
      Экономия Трафика
      Если страница не изменилась, то сервер прекратит передачу данных после отправки заголовков с кодом 304 Not Modified, тело страницы, изображения и другие объекты передаваться не будут.
      Снижение нагрузки на сервер
      Правильная реализация проверки времени последнего изменения страницы может значительно (до 30% и более) сократить нагрузку на сервер. Под правильной реализацией подразумевается проверка времени до начала генерации страницы на динамическом сайте. В таком случае все действия для генерации страницы (запрос контента из базы данных, парсинг шаблонов, получение комментариев и др) выполняться не будут. Особенно это актуально для сайтов с высокой посещаемостью и долгой продолжительностью визита пользователя. Пример: пользователь находится на сайте спортивных новостей и постоянно обновляет главную страницу в ожидании публикации результата матча. За несколько минут страница может быть запрошена и получена десятки раз. Если заголовок Last-Modified отдается и запрос If-Modified-Since обрабатывается правильно, то реально страница будет передана один раз, а на все последующие запросы будет выдан ответ 304 Not Modified.
      Ускорение индексации поисковыми системами
      Поисковые системы через руководство для вебмастеров рекомендуют отсылать заголовок Last-Modifiedи правильно обрабатывать If-Modified-Since.
    • By Feech
      400.00 руб
      Скачать/Купить дополнение


      Last-Modified, If-Modified-Since, 304 not modified. Для Opencart 3. Ускорение индексации поисковыми системами, экономия Трафика, снижение нагрузки на сервер,
      Поддержка: OpenCart 3.x.x.x
      Возможности:
      Выводит дату последней модификации для страниц категорий, товаров и статьей и для главной страницы. Можно менять вручную дату последней модификации категорий Можно менять вручную дату последней модификации статей Можно менять вручную дату последней модификации главной страницы Установить:
      Модули/Расширения -> Установка расширений. Выбрать архив с модулем и Загрузить. Модули/Расширения -> выбрать установленный модуль (Last Modified ...) -> Активировать Зайти в активированный модуль и установить время для главной страницы Модули/Расширения -> Модификаторы. Нажать кнопку Обновить  
      Обращаем ваше внимание, что заголовок LastModified не отдаётся для WWW-доменов с включенным SSI.
      Перед покупкой проверьте передает ли ваш сервер параметры $_SERVER['HTTP_IF_MODIFIED_SINCE'] или $_ENV['HTTP_IF_MODIFIED_SINCE']
      * Если при установке модуля возникает ошибка "Директория не доступна для записи!" - необходимо поставить бесплатный модуль Localcopy OCMOD для Opencart 3
       
      Зачем нужен Last-Modified
      HTTP заголовок Last-Modified сообщает клиенту время последнего изменения страницы (объекта). Если клиент (браузер, поисковый робот) получил заголовок Last-Modified, то при следующем обращении к адресу, при условии, что страница (объект) есть в локальном кеше, он добавит вопрос If-Modified-Since(не изменилась ли страница после даты, полученной в Last-Modified). В свою очередь сервер, получив запрос If-Modified-Since должен сверить полученную временную метку с временем последнего изменения страницы и, если страница не изменялась ответить 304 Not Modified.
      Экономия Трафика
      Если страница не изменилась, то сервер прекратит передачу данных после отправки заголовков с кодом 304 Not Modified, тело страницы, изображения и другие объекты передаваться не будут.
      Снижение нагрузки на сервер
      Правильная реализация проверки времени последнего изменения страницы может значительно (до 30% и более) сократить нагрузку на сервер. Под правильной реализацией подразумевается проверка времени до начала генерации страницы на динамическом сайте. В таком случае все действия для генерации страницы (запрос контента из базы данных, парсинг шаблонов, получение комментариев и др) выполняться не будут. Особенно это актуально для сайтов с высокой посещаемостью и долгой продолжительностью визита пользователя. Пример: пользователь находится на сайте спортивных новостей и постоянно обновляет главную страницу в ожидании публикации результата матча. За несколько минут страница может быть запрошена и получена десятки раз. Если заголовок Last-Modified отдается и запрос If-Modified-Since обрабатывается правильно, то реально страница будет передана один раз, а на все последующие запросы будет выдан ответ 304 Not Modified.
      Ускорение индексации поисковыми системами
      Поисковые системы через руководство для вебмастеров рекомендуют отсылать заголовок Last-Modifiedи правильно обрабатывать If-Modified-Since.
      Добавил Feech Добавлено 19.04.2019 Категория SEO, карта сайта, оптимизация Системные требования Сайт разработчика Старая цена 600 Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.