Помощь Что такое файл TWIG?

  • Автор темы Автор темы RedFox_777
  • Дата начала Дата начала

RedFox_777

Разрушитель (V)
Сообщения
145
Реакции
21
Баллы
550
Здравствуйте господа...!
Обьясните плиз блондике что такое .twig , вот я прочитала но нифига не поняла....)))
Может кто -нибудь на пальцах обьяснить что это такое.....?

Файл, созданный Twig, механизмом шаблонов, оптимизирующим PHP; содержит шаблон, который будет сгенерирован в конкретный конечный формат, такой как файл на основе HTML, JavaScript, XML или CSS; расширение twig определяет, какой движок следует использовать для создания окончательного формата, будь то движок Twig или PHP. Дополнительная информация

Приложение Twig создает более лаконичный синтаксис, чем обычный PHP, что делает файлы TWIG более читабельными. Twig имеет два типа синтаксиса:

  1. {{...}} - печатает переменную или результат выражения в шаблон.
  2. {% ...%} - тег, управляющий логикой шаблона; используется для выполнения операторов.


НОТА: Платформа Symfony PHP использует Twig в качестве механизма шаблонов по умолчанию.

Общие имена файлов TWIG
index.html.twig - Указывает, что шаблон будет сгенерирован в формате HTML с движком Twig.

index.css.twig - Указывает, что шаблон будет сгенерирован в формате CSS с движком Twig.

Я так понимаю...он отвечает за вывод на странице картинок и текста....Короче если на примере.... - мне надо передвинуть картинку и тект с одного края на другой )))) Ну допустим слева на право... Где и что менять?
 
вот допустим тут надо поменять местами блок с тестом который справа и картинку.... ну т.е. отзеркалить ))))
1647503362255.png
 

Вложения

  • Untitled.jpg
    Untitled.jpg
    118,2 КБ · Просмотры: 1
В движках сайтов (CMS) используется способ организации кода MVC (Model-View-Controller)
В твоем случае нас интересует компонент View
Это то что формирует вывод страницы - набор HTML тегов CSS ...
В случае сайта на чистом HTML этого было бы достаточно
Но в случае CMS нам нужно скомбинировать данные хранимые средствами движка с версткой страницы
Для это применяются шаблонизаторы (в частности TWIG)
Их назначение подставить значения хранящиеся в CMS в верстку конкретной страницы
Таким образом файл TWIG это смесь верстки и операторов подстановки в нужные места значений заданных в CMS
 
В движках сайтов (CMS) используется способ организации кода MVC (Model-View-Controller)
В твоем случае нас интересует компонент View
Это то что формирует вывод страницы - набор HTML тегов CSS ...
В случае сайта на чистом HTML этого было бы достаточно
Но в случае CMS нам нужно скомбинировать данные хранимые средствами движка с версткой страницы
Для это применяются шаблонизаторы (в частности TWIG)
Их назначение подставить значения хранящиеся в CMS в верстку конкретной страницы
Таким образом файл TWIG это смесь верстки и операторов подстановки в нужные места значений заданных в CMS
Ok! это я поняла.... А как теперь отзеркалить блок с текстом (Description) и картинку ?

В этой папке править? наверно этот файлик отвечает - product.twig
c:\xampp\htdocs\default\catalog\view\theme\default\template\product\ - в этой папке?

тут у меня такие файлы есть... -
category.twig
compare.twig
manufacturer_info.twig
manufacturer_list.twig
product.twig
review.twig
search.twig
special.twig
 
Последнее редактирование:
У меня задача такая стоит.... допустим мне не нравиться что картинка слева и она прямоугольная с соотношением сторон 3:2
Я хочу ее поставить справа и сделать соотношение 1:1 - квадратную )))
1647505201269.png
 
Опишу немного попроще. И на примерах, в вашем случае для опенкарт
У шаблона карточки товара, есть три файла, которые отвечают за вывод информации.
Модель, файл который забирает данные о товаре из базы данных
Контроллер, который отправляет и принимает данные и из модели и из шаблона(вьювера) карточки товара
Шаблон, он же вьювер. Выводит и отправляет информацию из контроллера и обратно. Вот именно в нём и используется шаблонизатор TWIG.

Допустим, в контроллере есть данные, возьмём тот же SKU.

Что бы вывести его, можно использовать html код, а так же переменные, но в специальном формате.
Что бы вывести SKU, нужно прописать вывод переменной:
PHP:
{{ sku }}
Но! Если это переменной нет или она пустая, нужно обязательно делать проверку
PHP:
//Если SKU есть, выводит SKU
{% if sku %}
{{ sku }}
{% endif %
}

И с html кодом:
PHP:
{% if sku %}
<div class="rm-product-center-info-item">
<span class="rm-product-center-info-item-title">{{ text_sku}}</span>
<span>{{ sku }}</span>
</div>
{% endif %}

Что же касается вашей задачи, она решается вёрсткой.
Без пациента, сложно подсказать.
В дефолтном шаблоне используется фреймворк bootstrap, который растягивает картинку. Если же вам всего лишь нужно уменьшить блок изображения, копайте в сторону
col-sm
col-sx
col-md
col-lg
Для данного блока
 
Опишу немного попроще. И на примерах, в вашем случае для опенкарт
У шаблона карточки товара, есть три файла, которые отвечают за вывод информации.
Модель, файл который забирает данные о товаре из базы данных
Контроллер, который отправляет и принимает данные и из модели и из шаблона(вьювера) карточки товара
Шаблон, он же вьювер. Выводит и отправляет информацию из контроллера и обратно. Вот именно в нём и используется шаблонизатор TWIG.

Допустим, в контроллере есть данные, возьмём тот же SKU.

Что бы вывести его, можно использовать html код, а так же переменные, но в специальном формате.
Что бы вывести SKU, нужно прописать вывод переменной:
PHP:
{{ sku }}
Но! Если это переменной нет или она пустая, нужно обязательно делать проверку
PHP:
//Если SKU есть, выводит SKU
{% if sku %}
{{ sku }}
{% endif %
}

И с html кодом:
PHP:
{% if sku %}
<div class="rm-product-center-info-item">
<span class="rm-product-center-info-item-title">{{ text_sku}}</span>
<span>{{ sku }}</span>
</div>
{% endif %}

Что же касается вашей задачи, она решается вёрсткой.
Без пациента, сложно подсказать.
В дефолтном шаблоне используется фреймворк bootstrap, который растягивает картинку. Если же вам всего лишь нужно уменьшить блок изображения, копайте в сторону
col-sm
col-sx
col-md
col-lg
Для данного блока
уже кое что проясняется....))) я бы конечно погуглила как это работает, но только не знаю что гуглить....
ну вот в данном моем случае что надо сделать чтоб изменить картинку....точнее наверно будет даже не изменить картинку а изменить сам бокс куда она вставляется....

.... допустим мне не нравиться что картинка слева и она прямоугольная с соотношением сторон 3:2
Я хочу ее поставить справа и сделать соотношение 1:1 - квадратную )))
 
Это делается в настройках шаблона.
Так называемый ресайз изображения
 
Картинка вставляется в бокс - бокс может быть прямоугольным или квадратным.... он может быть справа слева или посередине...))))
Бокс определяется размерами заданнами в шаблоне...))) вот эти размеры мне надо изменить и передвинуть картинку с левой половины на правую....
 
не поняла... - ресайз изображения делается в Photoshop ))) это я точно знаю....
В опенкарт свой ресайз.
Вы в магазин заливаете оригинальную картинку, а на сайте вам показывают картинку после ресайза из папки кеш
 
В опенкарт свой ресайз.
Вы в магазин заливаете оригинальную картинку, а на сайте вам показывают картинку после ресайза из папки кеш
я немного не про это....))) вот допустим у меня прямоугольная картинка 1200x800 если ее вставить в квадратный бокс то будут поля снизу и сверху...
но можно сделать бокс 1200x800 и тогда полей не будет )))
 
Все картинки в опенкарт проходят ресайз.
Выставили вы в настройках, что бы в карточке товара картинки были 500х500, вам после ресайза будут выводить картинки именно такого размера.
Это нужно для того, что бы, если вы загрузите картинку:
1000х1000 - после ресайза её сожмёт по пропорции до 500х500
Если вы поставите картинку 600х500 или 500х600 будут так называемые белые уши по бокам или сверху или снизу
 
я вот о чем говорю... для шапки нужна прямоугольная картинка типа 1200x200 а для страницы товара квадратная...
 
Все картинки в опенкарт проходят ресайз.
Выставили вы в настройках, что бы в карточке товара картинки были 500х500, вам после ресайза будут выводить картинки именно такого размера.
Это нужно для того, что бы, если вы загрузите картинку:
1000х1000 - после ресайза её сожмёт по пропорции до 500х500
Если вы поставите картинку 600х500 или 500х600 будут так называемые белые уши по бокам или сверху или снизу
ну да...я про это и говорю.... ))) а как сделать чтоб не было этих белых ушей....? т е надо изменить сам бокс куда картинка будет вставляться - правильно? правильно....)))
 
В настройках шаблона это устанавливается
 
Назад
Верх