Jump to content

Search the Community

Showing results for tags 'twig'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Основной
    • Новости и анонсы
    • Предложения и пожелания
    • Акции, подарки, конкурсы и награды
  • For developers
    • Общие вопросы
    • Нововведения на форуме
  • Opencart 3.x
    • Opencart 3.x: Общие вопросы
    • Opencart 3.x: Установка и обновление
    • Opencart 3.x: Локализация
    • Opencart 3.x: Настройка и оптимизация
    • Opencart 3.x: Песочница
    • Opencart 3.x: Поиск модулей
    • Opencart 3.x: Отчёты об ошибках
  • Opencart 2.x
    • Opencart 2.x: Общие вопросы
    • Opencart 2.x: Установка и обновление
    • Opencart 2.x: Локализация
    • Opencart 2.x: Настройка и оптимизация
    • Opencart 2.x: Песочница
    • Opencart 2.x: Поиск модулей
    • Opencart 2.x / ocStore 2.x: Отчёты об ошибках
  • Реклама и продвижение
    • SEO-вопросы (оптимизация и продвижение магазина)
    • Контекстная реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Поддержка и ответы на вопросы
    • Общие вопросы
    • Установка, обновление, настройка
    • Шаблоны, дизайн и оформление магазина
    • Модули и дополнения
    • Помощь программистам и разработчикам
    • Мобильная витрина
    • Вопросы безопасности
    • Перевод
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Создание магазинов под ключ
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Обновление версии движка магазина
    • Наполнение магазина
    • Системное администрирование (настройка хостинга, серверов, ПО)
    • Другие услуги
    • Отзывы об исполнителях
    • Отзывы о заказчиках
  • Разное

Categories

  • Шаблоны
    • Бесплатные шаблоны
    • Платные шаблоны
  • Filters
  • Promotions & Pricing
  • Coupons & reward points, affiliate programs
  • Blogs, News & Articles
  • Shopping Cart & Order
  • Product Options
  • Product Attributes
  • Product Combinations
  • Search
  • SEO & Optimization
  • Caching & Server Performance
  • Платежные системы
  • Доставки
  • Editors
  • Design & Navigation
  • Banners, Slideshows & Galleries
  • Email Marketing & SMS Integration
  • Customer Support & Chat
  • Обмен данными
  • Учет в заказе
  • Compare & Wishlist
  • Социальные сети
  • Parsers
  • Модули
  • Tools & Developer Tools
  • Licenses
  • Языковые пакеты
  • Прочее
  • Отчеты
  • Сборки
  • Услуги
    • Графика и дизайн
    • Маркетинг

Categories

  • Настройка OpenCart
  • Служебные документы
  • Оплата

Blogs

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • AWS
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Записки от sitecreator
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Задачи, идеи, решения.
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Полезное с бесполезным
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Магазин Tv-Project.com
  • Мой копирайтинг
  • Разработка под Opencart
  • SEO боксинг специального назначения
  • Подбери свои боксерские перчатки
  • Get-Web Dev
  • Seok
  • Как добавить название города к домену на Опенкарт? (город в качестве категории)
  • Оптимизация и ускорение сайта: JavaScript...
  • Best practice
  • Ultimate Guide to Building an MVP
  • Vlad-Egorov-Blog
  • Взлом почты mail.ru на заказ, взлом яндекс почты, Взлом yandex пароля, Взлом bk.ru, Взлом inbox.ru, Взлом list.ru, Взлом yandex, Взлом rambler
  • поисковая система google Вставляю мой сайт и там на японском на китайском языке Что сделать как исправить?
  • Difficulty Of Chinese Transcription and Solution - Chinese Transcription Services
  • Блог spectre
  • Авторские статьи
  • webbrowsers
  • commanddotcom
  • Внимание мошенники
  • Блог о платежах для бизнеса
  • del
  • Наблюдения обычного человека
  • SEO-тренды на 2020 год

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Сайт


Skype


Город:


Интересы

Found 27 results

  1. Всем привет! Как правильно установить код от Sape на Opencart 3 (допустим в футер)? На форуме не нашёл...
  2. Подскажите пожалуйста как "удлинить" строку поиска в Opencartrt
  3. Подскажите пожалуйста как расширить строку поиска в OpenCart, в какой шаблон залезть и что править
  4. При очистке кэша Opencart испортился внешний вид сайта , подскажите пожалуйста как исправить первоначальный вид сайта
  5. {% for item in items %} {# ... #} {% endfor %} Код выше. Как вывести только первые 3 итерации цикла?
  6. Здравствуйте, хочу убрать кнопку корзины(черная) и чуть выше удалить разделы типо "Оформление заказа" и добавить к основым разделам справа с краю кнопку "Главная" и слева "Контакты'' и "О нас", помогите пожалуйста
  7. Здравствуйте, полетела верстка после попытки изменить шаблон в OpenCart, в header пытался удалить строку, после удаления верстка стала такой.Я сбрасывал изменения этого файла до дефолтных - не помогло, даже бэкап этого сайта пытался запускать, сделанный два дня назад, верстка такая же поганая, хотя тогда я ничего не менял,помогите пожалуйста
  8. При добавлении расширения "Рекомендуемые категории" через админку при сохранении опции 'Enabled' Opencart 3x выдает ошибку: Notice: Undefined index: category_id in C:\xampp\htdocs\valauto\upload-3033-rs3\admin\controller\extension\module\latestcategory.php on line 16Notice: Undefined property: Proxy::addModule2 in C:\xampp\htdocs\valauto\upload-3033-rs3\system\storage\modification\system\engine\action.php on line 79, подскажите пожалуйста как быть?
  9. Как выводить массив с помощью FOR только при условии что в цикле минимум 3 итерации? Т.е. если в массиве который я вывожу содержится меньше трёх единиц информации, то массив вообще не выводим. Для примера возьмём такой код {% for category in categories %} <li> <a href="{{ category.href }}">{{ category.name }}</a> </li> {% endfor %}
  10. Доброй вечер. По умолчанию, в шаблоне инвойса вижу, что twig использует массивы {{ total.title }} - для текстов и {{ total.text }} для цифр (одна из которых мне и нужна) {{ dump(total.text) }} выдает string(8) "77.00€" string(8) "99.00€" string(9) "169.00€" как мне получить только одно, последнее (девятое ???) значение из total.text ? Спасибо
  11. Добрый день,подскажите,существует ли способ узнать в шаблоне .twig код активного языка кроме как через данные с контроллера?
  12. Вроде пишу style="display:none" в guest.twig. А форма все равно высвечивается.
  13. Version 1.0.0

    Название модуля: Свободное php редактирование - "Free php editing" Версия модуля: 1.0 Тип лицензии: Full (полная версия) Тип установки: ocmod Язык: Беларуская мова, English, Русский язык, Українська мова Дата создания: 24.11.2019 Был протестирован на: OpenCart.pro 2.1.0.2.2 и 2.3.0.2.6, OpenCart-"Русская сборка" 2.1.0.2 (rs1), 2.3.0.2 (rs6) и 3.0.2.0 (rs3), ocStore 2.1.0.2.1 и 2.3.0.2.3 - шаблон (default) Название архива: Free php editing v1.0 Full OpenCart 2.X-3.1.X.zip ДЕМОНСТРАЦИЯ ОПИСАНИЕ Модуль предназначен для возможности свободно редактировать php, tpl, twig, файлы и не париться при обновлении версий или шаблонов OpenCart. Просто создаёте копию файла с префиксом перед именем и редактируете его, потом обновляете модификаторы и ваши правки применены (модули также будут вносить правки в ваш файл). ВНИМАНИЕ! Оригинальные файлы магазина не заменяет! Всегда проверяйте такие модули (окмоды - архивы) содержащие такие файлы: "install.php, install.sql" так как злоумышленники могут навредить вашему сайту, например, вашими руками удалят вашу базу данных. Пример запроса (смотрите, чтобы не было удаления таблиц "DROP TABLE": категорий, пользователей, товара и т.д. по оригиналу или всей БД "DROP DATABASE"): Модификатор "вносит изменения" в следующие файлы: УСЛОВИЯ СОГЛАШЕНИЯ - Beta версии устанавливаете на свой страх и риск - бэкап базы данных (далее - БД) обязателен; - Модуль (модификатор, дополнение, расширение, приложение) (далее - Модуль) можно устанавливать на 1 домен включая поддомены (одна покупка - один домен); - Редактировать код можно только под нужды своего магазина; - Распространение модуля запрещено; - Техническая поддержка (далее - ТП) осуществляется только при появлении ошибки, бага, глюка (зависания) и не совместимости модуля с заявленными версиями Opencart и шаблонов на момент продажи, при установке на боевой сайт (рабочий хостинг); - Адаптация модуля под другую версию Опенкарта, нестандартный шаблон и сторонние модули - платная; - Автор модуля оставляет за собой право в любое время внести изменение в настоящее условие, описание и исходный код модуля; - Автор модуля оставляет за собой право прекратить ТП пользователям по истечению 365 календарных дней со дня последнего обновления модуля (Full или Beta версии), или со дня окончания продления ТП, или при форс-мажорных обстоятельств; - Автор не несёт ответственности за потерю или находку дохода пользователя из-за работы модуля; - ТП осуществляется при условии соблюдения данного соглашения, пишите в личные сообщения. - После 5 покупок безлимит на установку доменов (в коммерческих целях тоже, тех. поддержку осуществляете вы) и можно заменить ссылку на свою страницу для тех. поддержки;

    650.00 RUB

  14. 650.00 руб · Срок продления: 200.00 руб за год Скачать/Купить дополнение Свободное php редактирование / Free php editing Название модуля: Свободное php редактирование - "Free php editing" Версия модуля: 1.0 Тип лицензии: Full (полная версия) Тип установки: ocmod Язык: Беларуская мова, English, Русский язык, Українська мова Дата создания: 24.11.2019 Был протестирован на: OpenCart.pro 2.1.0.2.2 и 2.3.0.2.6, OpenCart-"Русская сборка" 2.1.0.2 (rs1), 2.3.0.2 (rs6) и 3.0.2.0 (rs3), ocStore 2.1.0.2.1 и 2.3.0.2.3 - шаблон (default) Название архива: Free php editing v1.0 Full OpenCart 2.X-3.1.X.zip ДЕМОНСТРАЦИЯ ОПИСАНИЕ Модуль предназначен для возможности свободно редактировать php, tpl, twig, файлы и не париться при обновлении версий или шаблонов OpenCart. Просто создаёте копию файла с префиксом перед именем и редактируете его, потом обновляете модификаторы и ваши правки применены (модули также будут вносить правки в ваш файл). ВНИМАНИЕ! Оригинальные файлы магазина не заменяет! Всегда проверяйте такие модули (окмоды - архивы) содержащие такие файлы: "install.php, install.sql" так как злоумышленники могут навредить вашему сайту, например, вашими руками удалят вашу базу данных. Пример запроса (смотрите, чтобы не было удаления таблиц "DROP TABLE": категорий, пользователей, товара и т.д. по оригиналу или всей БД "DROP DATABASE"): Модификатор "вносит изменения" в следующие файлы: УСЛОВИЯ СОГЛАШЕНИЯ - Beta версии устанавливаете на свой страх и риск - бэкап базы данных (далее - БД) обязателен; - Модуль (модификатор, дополнение, расширение, приложение) (далее - Модуль) можно устанавливать на 1 домен включая поддомены (одна покупка - один домен); - Редактировать код можно только под нужды своего магазина; - Распространение модуля запрещено; - Техническая поддержка (далее - ТП) осуществляется только при появлении ошибки, бага, глюка (зависания) и не совместимости модуля с заявленными версиями Opencart и шаблонов на момент продажи, при установке на боевой сайт (рабочий хостинг); - Адаптация модуля под другую версию Опенкарта, нестандартный шаблон и сторонние модули - платная; - Автор модуля оставляет за собой право в любое время внести изменение в настоящее условие, описание и исходный код модуля; - Автор модуля оставляет за собой право прекратить ТП пользователям по истечению 365 календарных дней со дня последнего обновления модуля (Full или Beta версии), или со дня окончания продления ТП, или при форс-мажорных обстоятельств; - Автор не несёт ответственности за потерю или находку дохода пользователя из-за работы модуля; - ТП осуществляется при условии соблюдения данного соглашения, пишите в личные сообщения. - После 5 покупок безлимит на установку доменов (в коммерческих целях тоже, тех. поддержку осуществляете вы) и можно заменить ссылку на свою страницу для тех. поддержки; Добавил buslikdrev Добавлено 21.04.2020 Категория Инструменты, утилиты Системные требования Сайт разработчика http://buslikdrev.by/ Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0 2.3 2.2 2.1 2.0 ocStore 3.0 2.3 2.2 2.1 OpenCart.Pro, ocShop Opencart.pro 2.3 Opencart.pro 2.1 OcShop 2.0.3.х Обращение к серверу разработчика Нет Да Старая цена 0
  15. Насколько мне известно для того что бы xdebug работал с twig нужно указать путь к папке с кешом.Я пробывал 2 варианта C: \ OSPanel \ domains \ oc.test \ storage \ cache и C: \ OSPanel \ domains \ oc.test \ upload \ system \ storage \ cache но они оба не работают. Что я делаю не так?
  16. Доброго времени суток. Как вывести вот такое правило <?php if ($banners[0]['status'] == 2) { ?> В opencart 3 в twig файле ? Пробовал такие варианты {% if banner.status == 2 %} {% if banner.status[0] == 2 %} {% if banner[0].status == 2 %}
  17. Скачать/Купить дополнение Bye-bye, Twig! Когда вы находитесь в процессе работы, и вам нужно активно редактировать код модуля, намного привычнее работать с версткой в виде php. Хотя бы лишь потому что вы по прежнему можете видеть открывающие и закрывающие фигурные скобки с подсветкой всего блока кода. Данный модификатор хорош для быстрого редактирования интерфейса модулей при их разработке или при адаптации с 2.3 на OpenCart 3. Он НЕ создан для других целей. И не отменят twig в целом. Он лишь позволяет вам в процессе разработки в контроллере вашего модуля подключать tpl-файлы без особых мудреностей. В конце, когда вы увидите, что процесс работы на модулем завершен, вы можете легко и просто конвертировать php-код в твиг-код на сайте https://phptotwig.com/ Хотя, надо признать, что конвертатор не всегда выдаст вам полностью готовый и работающий код. И все же "поправлять готовую версию" - это более менее малые жертвы, по сравнению с "писать на твиге с нуля". Если честно, то используя данный модификатор, вы можете и вовсе оставить вьюшку интерфеса настроек вашего модуля на tpl. Но такое не рекомендуется завсегдатаями этого форума (см обсуждение поддержки). И еще в таком случае при установке вашего модуля появится зависимость от данного модфикатора. Как это использовать? 1. Установить модификатор и обновить кеш модификаторов 2. Для вызова tpl-вьюшки в контроллере необходимо дописывать расширенией файла .tpl, как это было в версии 2.1 $this->response->setOutput($this->load->view('extension/module/MODULE_CODE.tpl', $data)); Добавил SergeTkach Добавлено 27.02.2020 Категория Инструменты, утилиты Системные требования OpenCart 3 Сайт разработчика http://sergetkach.com/ Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 0  
  18. Version 1.0.0

    29 downloads

    Когда вы находитесь в процессе работы, и вам нужно активно редактировать код модуля, намного привычнее работать с версткой в виде php. Хотя бы лишь потому что вы по прежнему можете видеть открывающие и закрывающие фигурные скобки с подсветкой всего блока кода. Данный модификатор хорош для быстрого редактирования интерфейса модулей при их разработке или при адаптации с 2.3 на OpenCart 3. Он НЕ создан для других целей. И не отменят twig в целом. Он лишь позволяет вам в процессе разработки в контроллере вашего модуля подключать tpl-файлы без особых мудреностей. В конце, когда вы увидите, что процесс работы на модулем завершен, вы можете легко и просто конвертировать php-код в твиг-код на сайте https://phptotwig.com/ Хотя, надо признать, что конвертатор не всегда выдаст вам полностью готовый и работающий код. И все же "поправлять готовую версию" - это более менее малые жертвы, по сравнению с "писать на твиге с нуля". Если честно, то используя данный модификатор, вы можете и вовсе оставить вьюшку интерфеса настроек вашего модуля на tpl. Но такое не рекомендуется завсегдатаями этого форума (см обсуждение поддержки). И еще в таком случае при установке вашего модуля появится зависимость от данного модфикатора. Как это использовать? 1. Установить модификатор и обновить кеш модификаторов 2. Для вызова tpl-вьюшки в контроллере необходимо дописывать расширенией файла .tpl, как это было в версии 2.1 $this->response->setOutput($this->load->view('extension/module/MODULE_CODE.tpl', $data));

    Free

  19. Всем доброго времени суток! Помогите пожалуйста переписать этот код так что бы если в админке на товар поставили цену 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 %}
  20. Здравствуйте. Возникла такая проблема... Нужно вывести кол-во товаров для каждой опции. Версия Opencart 3.0.3.2 Пробовал в product.php прописывать 'quantity' => $option_value['quantity'], а в шаблоне {{option_value.quantity}}, но ничего не выводилось. Искал решение где только мог, но так и не нашел. Помогите, пожалуйста.
  21. Всем привет! Если кто знает, подскажите, пожалуйста, как скрыть определенные атрибуты в карточке товара? Есть примеры для oc2, но все они как вывести определенные атрибуты, а хочется скрыть 2-3 из общего количества. Если я правильно понимаю, в twige вот эта часть отвечает за вывод: <tbody> {% for attribute in attribute_group.attribute %} <tr> <td>{{ attribute.name }}</td> <td>{{ attribute.text }}</td> </tr> {% endfor %} </tbody> Буду крайне благодарен за помощь!
  22. Пытаюсь вывести количество отзывов. Прошу помочь правильно достучаться к переменной. Есть контроллер с отзывами review.php if ($data['field_rating']) { $data['rating'] = (int)$this->model_catalog_p_review->getRating($product_id); $rating_total = (int)$this->model_catalog_p_review->getRatingTotal($product_id); $data['rating_total'] = $rating_total ? sprintf($this->language->get('text_rating_total'), $rating_total) : $this->language->get('text_no_rating'); } else { $data['rating'] = array(0); $data['rating_total'] = $this->language->get('text_no_rating'); } нужно из файла catalog/view/theme/default/template/product/category.twig достучаться к catalog/controller/product/review.php ? <span class="count-reviews">{{ product.rating_total }}</span> Как правильно?
  23. Здравствуйте Цель такая, мне надо просканировать папку, найти все файлы в ней - картинки и вывести их. Вопрос в том как это сделать используя twig ? Я искал как это сделать и говорят, что надо вызвать php файл в twig но как это сделать я не знаю. Плюс мне кажется можно попробовать использовать для этого как-то js и потом передать параметры. Вопрос в том, как это сделать и если можно с ссылочкой или примером. С уважением, Стромов Владимир
  24. Здраствуйте! У меня есть сайт на opencart 3.0.2, я хотел сделать два хедера (один для главной страницы, другой для всех остальных), и у меня возникла проблема - файлы не изменяются(Сайт на шаблоне Journal 3) допустим у меня есть файлы /catalog/view/theme/journal3/template/journal3/headers/desktop/classic.twig, /catalog/view/theme/journal3/template/common/header.twig и /catalog/controller/common/header.php. И допустим я хочу сделать проверку на главный файл, я вставляю код в header.twig {% if home %} <style>...</style>{% endif %} Изменяю стили, но в файле в меня всё меняется, а на сервере нет, что делать? Переменная home есть в header.php Код /catalog/view/theme/journal3/template/journal3/headers/desktop/classic.twig <div class="header header-classic header-lg"> <div class="top-bar navbar-nav"> {{ j3.settings.get('desktop_top_menu') }} {% if j3.settings.get('langPosition') == 'top' %} <div class="language-currency top-menu"> <div class="desktop-language-wrapper"> {{ language }} </div> <div class="desktop-currency-wrapper"> {{ currency }} </div> </div> {% endif %} <div class="third-menu">{{ j3.settings.get('desktop_top_menu_3') }}</div> {% if j3.settings.get('secondaryMenuPosition') == 'top' %} <div class="top-menu secondary-menu">{{ j3.settings.get('desktop_top_menu_2') }}</div> {% endif %} </div> <div class="mid-bar2"> <div class="desktop-logo-wrapper"> <div id="logo"> {% if j3.settings.get('logo_src') %} <a href="{{ home }}"> <img src="{{ j3.settings.get('logo_src') }}" {% if j3.settings.get('logo2x_src') %}srcset="{{ j3.settings.get('logo_src') }} 1x, {{ j3.settings.get('logo2x_src') }} 2x"{% endif %} width="{{ j3.settings.get('logo_width') }}" height="{{ j3.settings.get('logo_height') }}" alt="{{ name }}" title="{{ name }}"/> </a> {% else %} <h1><a href="{{ home }}">{{ name }}</a></h1> {% endif %} </div> </div> {% if j3.settings.get('headerMainMenu2Position') == 'top' %} {{ j3.settings.get('desktop_main_menu_2') }} {% endif %} <div class="desktop-search-wrapper full-search default-search-wrapper"> {{ search }} </div> {% if j3.settings.get('langPosition') == 'search' %} <div class="language-currency top-menu"> <div class="desktop-language-wrapper"> {{ language }} </div> <div class="desktop-currency-wrapper"> {{ currency }} </div> </div> {% endif %} <div class="classic-cart-wrapper"> {% if j3.settings.get('secondaryMenuPosition') == 'cart' %} <div class="top-menu secondary-menu">{{ j3.settings.get('desktop_top_menu_2') }}</div> {% endif %} {% if j3.settings.get('cartPosition') == 'top' %} <div class="desktop-cart-wrapper default-cart-wrapper"> {{ cart }} </div> {% endif %} </div> </div> <div class="desktop-main-menu-wrapper2 menu-{{ j3.settings.get('headerMenuLayout') }} {% if j3.settings.get('desktop_main_menu_2') %}has-menu-2{% endif %} navbar-nav"> {{ j3.document.hasClass('mobile-header-active') ? '' : j3.settings.get('desktop_main_menu') }} {% if j3.settings.get('headerMainMenu2Position') == 'menu' %} {{ j3.settings.get('desktop_main_menu_2') }} {% endif %} {% if j3.settings.get('cartPosition') == 'menu' %} <div class="desktop-cart-wrapper default-cart-wrapper"> {{ cart }} </div> {% endif %} </div> </div> /catalog/view/theme/journal3/template/common/header.php {% if j3 is not defined %} <style> body { display: none !important; } </style> <script> window.location = 'index.php?route=journal3/startup/error'; </script> {% endif %} <!DOCTYPE html> <html dir="{{ direction }}" lang="{{ lang }}" class="{{ j3.document.getClasses() | join(' ') }}" data-jv="{{ j3 is defined ? constant('JOURNAL3_VERSION') : '' }}" data-ov="{{ constant('VERSION') }}"> <head typeof="og:website"> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>{{ title }}</title> <base href="{{ base }}" /> {% if description %} <meta name="description" content="{{ description }}" /> {% endif %} {% if keywords %} <meta name="keywords" content="{{ keywords }}" /> {% endif %} {% if not j3.document.isPopup() %} {% for key, tag in j3.loadController('journal3/seo/meta_tags') %} <meta {{ tag.type }}="{{ key }}" content="{{ tag.content }}"/> {% endfor %} {% endif %} <script>window['Journal'] = {{ j3.document.getJs() | json_encode }};</script> {% if not j3.document.isPopup() %} <script>{{ j3.loadController('journal3/mql') }}</script> {% endif %} {% if j3.document.hasFonts() %} {% if j3.settings.get('performanceAsyncFontsStatus') %} <script>WebFontConfig = { google: { families: {{ j3.document.getFonts(true) }} } };</script> {% else %} <link href="https://fonts.googleapis.com/css?family={{ j3.document.getFonts(false) }}" type="text/css" rel="stylesheet"/> {% endif %} {% endif %} {% for style in j3.document.getStyles(styles) %} {% if style.content %} <style>{{ style.content }}</style> {% else %} <link href="{{ j3.document.staticUrl(style.href, false) }}" type="text/css" rel="{{ style.rel }}" media="all" /> {% endif %} {% endfor %} {% for link in links %} <link href="{{ link.href }}" rel="{{ link.rel }}" /> {% endfor %} {% for analytic in analytics %} {{ analytic }} {% endfor %} <style> {{ j3.document.getCss() }} </style> {% if j3.settings.get('customCSS') %} <style>{{ j3.settings.get('customCSS') }}</style> {% endif %} {% for script in j3.document.getScripts('header', scripts) %} <script src="{{ j3.document.staticUrl(script, false) }}" {% if j3.settings.get('performanceJSDefer') %} defer {% endif %}></script> {% endfor %} {% if j3.settings.get('customCodeHeader') %} {{ j3.settings.get('customCodeHeader') }} {% endif %} {# {% if isHome %} <style> body { background: none; } </style> {% endif %} #} </head> <body class="{{ class }}" {% if j3.document.isMobile() %}ontouchstart{% endif %}> {% if j3.settings.get('oldBrowserStatus') %} <div class="old-browser"> <div class="ob-content"> <h2 class="ob-title">{{ j3.settings.get('oldBrowserTitle') }}</h2> <span class="ob-text">{{ j3.settings.get('oldBrowserText') }}</span> <div class="ob-links"> <a href="https://www.google.com/chrome/" target="_blank" rel="nofollow"> <img src="{{ j3.settings.get('oldBrowserChrome') }}" alt="Chrome" /> <span class="ob-name">Chrome</span> </a> <a href="https://www.mozilla.org/firefox/new/" target="_blank" rel="nofollow"> <img src="{{ j3.settings.get('oldBrowserFirefox') }}" alt="Firefox" /> <span class="ob-name">Firefox</span> </a> <a href="https://www.microsoft.com/en-us/windows/microsoft-edge" target="_blank" rel="nofollow"> <img src="{{ j3.settings.get('oldBrowserEdge') }}" alt="edge" /> <span class="ob-name">Microsoft Edge</span> </a> <a href="https://www.opera.com/" target="_blank" rel="nofollow"> <img src="{{ j3.settings.get('oldBrowserOpera') }}" alt="opera" /> <span class="ob-name">Opera</span> </a> <a href="https://www.apple.com/lae/safari/" target="_blank" rel="nofollow"> <img src="{{ j3.settings.get('oldBrowserSafari') }}" alt="safari" /> <span class="ob-name">Safari on Mac</span> </a> </div> </div> </div> {% endif %} {% if not j3.document.isPopup() %} <div class="mobile-container mobile-main-menu-container"> <div class="mobile-wrapper-header"> <span>{{ j3.settings.get('headerMobileMenuTitle') }}</span> {% if j3.settings.get('mobileLangPosition') == 'menu' %} <div class="language-currency top-menu"> <div class="mobile-currency-wrapper"> {{ j3.document.hasClass('mobile-header-active') ? currency : '' }} </div> <div class="mobile-language-wrapper"> {{ j3.document.hasClass('mobile-header-active') ? language : '' }} </div> </div> {% endif %} <a class="x"></a> </div> <div class="mobile-main-menu-wrapper"> {{ j3.document.isPhone() or (j3.document.isTablet() and j3.settings.get('mobileHeaderOn') == 'tablet') ? j3.settings.get('mobile_main_menu') : '' }} </div> </div> <div class="mobile-container mobile-filter-container"> <div class="mobile-wrapper-header"></div> <div class="mobile-filter-wrapper"></div> </div> <div class="mobile-container mobile-cart-content-container"> <div class="mobile-wrapper-header"> <span>{{ j3.settings.get('headerMobileCartTitle') }}</span> <a class="x"></a> </div> <div class="mobile-cart-content-wrapper cart-content"></div> </div> {% endif %} {{ j3.loadController('journal3/layout', 'popup') }} <div class="site-wrapper"> {{ j3.loadController('journal3/layout', 'header_notice') }} {% if not j3.document.isPopup() %} <header class="header-{{ j3.settings.get('headerType') }}"> {% if not j3.document.hasClass('mobile-header-active') and j3.settings.get('headerType') %} {% include 'journal3/template/journal3/headers/desktop/' ~ j3.settings.get('headerType') ~ '.twig' %} {% endif %} {% if j3.settings.get('mobileHeaderType') %} {% include 'journal3/template/journal3/headers/mobile/header_mobile_' ~ j3.settings.get('mobileHeaderType') ~ '.twig' %} {% endif %} </header> {% endif %} /catalog/controller/common/header.php <?php // * @source See SOURCE.txt for source and other copyright. // * @license GNU General Public License version 3; see LICENSE.txt class ControllerCommonHeader extends Controller { public function index() { // Analytics $this->load->model('setting/extension'); $data['analytics'] = array(); $analytics = $this->model_setting_extension->getExtensions('analytics'); foreach ($analytics as $analytic) { if ($this->config->get('analytics_' . $analytic['code'] . '_status')) { $data['analytics'][] = $this->load->controller('extension/analytics/' . $analytic['code'], $this->config->get('analytics_' . $analytic['code'] . '_status')); } } if ($this->request->server['HTTPS']) { $server = $this->config->get('config_ssl'); } else { $server = $this->config->get('config_url'); } if (is_file(DIR_IMAGE . $this->config->get('config_icon'))) { $this->document->addLink($server . 'image/' . $this->config->get('config_icon'), 'icon'); } $data['title'] = $this->document->getTitle(); $data['base'] = $server; $data['description'] = $this->document->getDescription(); $data['keywords'] = $this->document->getKeywords(); $data['links'] = $this->document->getLinks(); $data['robots'] = $this->document->getRobots(); $data['styles'] = $this->document->getStyles(); $data['scripts'] = $this->document->getScripts('header'); $data['lang'] = $this->language->get('code'); $data['direction'] = $this->language->get('direction'); $data['name'] = $this->config->get('config_name'); if (is_file(DIR_IMAGE . $this->config->get('config_logo'))) { $data['logo'] = $server . 'image/' . $this->config->get('config_logo'); } else { $data['logo'] = ''; } $this->load->language('common/header'); $host = isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1')) ? HTTPS_SERVER : HTTP_SERVER; if ($this->request->server['REQUEST_URI'] == '/') { $data['og_url'] = $this->url->link('common/home'); } else { $data['og_url'] = $host . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1)); } $data['og_image'] = $this->document->getOgImage(); // Wishlist if ($this->customer->isLogged()) { $this->load->model('account/wishlist'); $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), $this->model_account_wishlist->getTotalWishlist()); } else { $data['text_wishlist'] = sprintf($this->language->get('text_wishlist'), (isset($this->session->data['wishlist']) ? count($this->session->data['wishlist']) : 0)); } $data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', true), $this->customer->getFirstName(), $this->url->link('account/logout', '', true)); $data['home'] = $this->url->link('common/home'); $data['wishlist'] = $this->url->link('account/wishlist', '', true); $data['logged'] = $this->customer->isLogged(); $data['account'] = $this->url->link('account/account', '', true); $data['register'] = $this->url->link('account/register', '', true); $data['login'] = $this->url->link('account/login', '', true); $data['order'] = $this->url->link('account/order', '', true); $data['transaction'] = $this->url->link('account/transaction', '', true); $data['download'] = $this->url->link('account/download', '', true); $data['logout'] = $this->url->link('account/logout', '', true); $data['shopping_cart'] = $this->url->link('checkout/cart'); $data['checkout'] = $this->url->link('checkout/checkout', '', true); $data['contact'] = $this->url->link('information/contact'); $data['telephone'] = $this->config->get('config_telephone'); $data['language'] = $this->url->link('common/home'); $data['currency'] = $this->load->controller('common/currency'); $data['currency'] = $this->load->controller('common/currency'); if ($this->config->get('configblog_blog_menu')) { $data['blog_menu'] = $this->load->controller('blog/menu'); } else { $data['blog_menu'] = ''; } $data['search'] = $this->load->controller('common/search'); $data['cart'] = $this->load->controller('common/cart'); $data['menu'] = $this->load->controller('common/menu'); return $this->load->view('common/header', $data); } } {{ j3.loadController('journal3/layout', 'fullscreen_slider') }}
  25. Здраствуйте! Я только начал учить опенкарт, и у меня возник вопрос: Как в header,twig можно сделать проверку на главную страницу, тоесть {% if isHome %} {% include ... %} {% endif; %} Надо реализовать переменную isHome, но как и в каком файле? Помогите плз
×

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.