Magento 2 html-файл та phtml-файл у користувацькому шаблоні?


10

Як я перевірив з magento 2 документацію про зміну вмісту minicart.

Є два способи:

  1. На цій сторінці: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html

Ми змінюємо його, налаштовуючи minicart.phml і розміщуючи його в: app/design/frontend/OrangeCo/orange/Magento_Checkout/templates/cart/minicart.phtml

  1. Але на іншій сторінці: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html

Ми налаштовуємо його в content.html і розміщуємо його в:

app/design/frontend/OrangeCo/orange/Magento_Checkout/web/template/minicart/content.html

Отже, ці питання:

Як magento 2 вирішує, коли використовувати html-файл та phtml-файл?

Чи пов’язано це з 3 режимом у Magento 2: за замовчуванням, для розробників та виробництва?

Відповіді:


10

І файли, .phtmlі .htmlфайли є частиною шару перегляду в Magento 2 різниці, оскільки phtmlфайли працюють з Block, який, згідно з документами Magento Docs, є спеціальним класом PHP, який зазвичай (але не завжди) підходить до шаблону тісно. Блоки зазвичай працюють з модельним шаром (основним Magento) для маніпулювання даними та повернення результатів / відповідей на шаблони (.phtml або .html файли). Ці файли використовуються файлами компонування при налаштуванні шаблонів для певних блоків тощо.

htmlФайли на іншому кінці використовуються виключно для відображення вмісту в бібліотеках фронту і javascript, таких як нокаут JS, використовують їх відповідно. Ці файли також використовуються для завантаження вмісту AJAX.


6

phtml-файли, що використовуються як шаблони PHP-заходу. html-файли, що використовуються як шаблони javascript для фронтену.

Це не пов'язано з режимом Magento.


Я не думаю, що ви перевіряли кожен модуль phtml-файл у фронтені / шаблонах. Чи всі ці файли використовуються лише для шаблону PHP для бекенда? Чому папка перегляду кожного модуля має дві папки: frontend та backkend?
thienphucvx

коли я кажу frontend / backkend, я маю на увазі на сервері / на стороні клієнта. Адміністратор папки - це панель адміністратора, а фронт - це передня частина магазину (може мати частину
фронтену / задніх днів

Я думаю, що я зрозумів, що ваш HTML про html надається через JavaScript. Але мені не ясно, для чого вони це використовують. Наприклад, ми налаштовуємо вміст міні-карти на content.html . Але для налаштування форми в огляді ми редагуємо її на form.phtml ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/… )
thienphucvx

m2 має багато застарілих (m1) кодів. не всі частини реконструюються, але процес переміщення візуалізації вмісту на стороні клієнта буде продовжуватися. і ви можете використовувати візуалізацію на стороні клієнта
KAndy

Так це означає, що в майбутньому є лише HTML-файл для клієнтської сторони?
thienphucvx

2

@thienphucvx Неправильна документація на http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html .

Правильна відповідь знаходиться в межах: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html .

Якби ви подивилися на файл, на який посилається в першому посиланні, vendor/magento/module-checkout/view/frontend/templates/cart/minicart.phtmlви побачили, що ви не можете змінити розміщення елементів у міні-картці кнопкою оформлення замовлення.

Це тому, що ця частина мінікарту знаходиться тут: vendor/magento/module-checkout/view/frontend/web/template/minicart/content.html

Коли я знаходжу невідповідності в документах, як у вас тут, я відкриваю запит на витягнення в GitHub. Занадто багато документів для роботи з документацією, щоб весь час мати 100% коректність. Відкрийте PR, вони переглянуть ваше оновлення. І якщо вони не впевнені в собі, вони звернуться до внутрішнього органу з цього питання та повернуться до вас із відгуками про те, чи ви правильні чи ні. Вони дружні. Дій!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.