Fichier html et fichier phtml de Magento 2 dans le processus de modèle personnalisé?

10

Comme je l'ai vérifié dans la documentation de magento 2 sur la modification du contenu des minicart.

Il y a deux façons:

  1. Dans cette page: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html

Nous le modifions en personnalisant minicart.phml et en le plaçant dans: app/design/frontend/OrangeCo/orange/Magento_Checkout/templates/cart/minicart.phtml

  1. Mais sur l'autre page: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html

Nous le personnalisons dans content.html et le plaçons dans:

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

Ces questions sont donc:

Comment magento 2 décide quand utiliser un fichier html et un fichier phtml?

Est-ce lié au mode 3 dans Magento 2: par défaut, développeur et production?

thienphucvx
la source

Réponses:

10

Les fichiers .phtmlet .htmlfont partie de la couche d'affichage dans la différence Magento 2, car les phtmlfichiers fonctionnent avec Block qui, selon Magento Docs, est une classe PHP spéciale qui est généralement (mais pas toujours) étroitement liée à un modèle. Les blocs fonctionnent généralement avec la couche modèle (core Magento) pour manipuler les données et renvoyer les résultats / réponses aux modèles (fichiers .phtml ou .html). Ces fichiers sont utilisés par les fichiers de mise en page dans la configuration des modèles pour certains blocs, etc.

htmlles fichiers à l'autre extrémité sont uniquement utilisés pour afficher le contenu sur le frontend et les bibliothèques javascript comme knockout JS les utilisent en conséquence. Ces fichiers sont également utilisés pour le chargement de contenu AJAX.

Devtype
la source
6

fichiers phtml utilisés comme modèles php backend. fichiers html utilisés comme modèles javascript frontaux.

Ce n'est pas lié au mode Magento.

KAndy
la source
Je ne pense pas, avez-vous vérifié chaque fichier phtml du module dans le frontend / templates. Tous ces fichiers sont-ils uniquement utilisés pour le modèle PHP backend? Pourquoi le dossier de vue de chaque module a deux dossiers: frontend et backend?
thienphucvx
quand je dis frontend / backend je veux dire côté serveur / côté client. Le dossier adminhtml est le panneau d'administration et le frontend est la partie Store Front (peut avoir une partie frontend / backend)
KAndy
Je pense que je comprends votre point sur le HTML est rendu par Javascript. Mais je ne sais pas pourquoi ils l'utilisent. Par exemple, nous personnalisons le contenu du minicart sur content.html . Mais pour personnaliser le formulaire en revue, nous le modifions sur form.phtml ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/… )
thienphucvx
m2 a de nombreux codes hérités (m1). toutes les parties ne sont pas refactorisées, mais le processus de déplacement du rendu du contenu côté client se poursuivra. et vous pouvez utiliser le rendu côté client
KAndy
Cela signifie donc qu'à l'avenir, il n'y aura que des fichiers html côté client?
thienphucvx du
2

@thienphucvx La documentation sur http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html est incorrecte.

La bonne réponse se trouve dans: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html .

Si vous regardiez le fichier référencé dans le premier lien, vendor/magento/module-checkout/view/frontend/templates/cart/minicart.phtmlvous verriez que vous ne pouvez pas modifier le placement des éléments dans le minicart avec le bouton de paiement.

C'est parce que cette partie du mini-chariot est ici: vendor/magento/module-checkout/view/frontend/web/template/minicart/content.html

Lorsque je trouve des incohérences dans les documents, comme vous l'avez ici, j'ouvre une demande de tirage dans GitHub. Il y a trop de documents pour que l'équipe de documentation soit toujours correcte à 100%. Ouvrez un PR, ils passeront en revue votre mise à jour ... et s'ils ne sont pas sûrs d'eux-mêmes, ils contacteront une autorité interne sur le sujet et vous répondront avec des commentaires sur votre exactitude ou non. Ils sont sympas. Fonce!

ryanF
la source