Magento 2 html file y phtml file en proceso de plantilla personalizada?

10

Como revisé en la documentación de magento 2 sobre el cambio de contenido de minicart.

Hay dos maneras :

  1. En esta página: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html

Lo cambiamos personalizando minicart.phml y colocándolo en: app/design/frontend/OrangeCo/orange/Magento_Checkout/templates/cart/minicart.phtml

  1. Pero en la otra página: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html

Lo personalizamos en content.html y lo colocamos en:

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

Entonces estas preguntas son:

¿Cómo magento 2 decide cuándo usar el archivo html y el archivo phtml?

¿Está relacionado con el modo 3 en Magento 2: Predeterminado, Desarrollador y Producción?

thienphucvx
fuente

Respuestas:

10

Ambos .phtmly los .htmlarchivos son parte de la capa de vista en la diferencia de Magento 2, ya que los phtmlarchivos funcionan con Block, que según Magento Docs es una clase PHP especial que generalmente (pero no siempre) está conectada a una plantilla estrechamente. Los bloques generalmente funcionan con la capa de modelo (núcleo de Magento) para manipular datos y devolver resultados / respuestas a plantillas (archivos .phtml o .html). Estos archivos son utilizados por los archivos de diseño para configurar plantillas para ciertos bloques, etc.

htmllos archivos en el otro extremo se usan únicamente para mostrar contenido en la interfaz y las bibliotecas de JavaScript, como JS noqueado, los usan en consecuencia. Estos archivos también se utilizan para cargar contenido AJAX.

Devtype
fuente
6

archivos phtml utilizados como plantillas de backend php. archivos html utilizados como plantillas frontend javascript.

Esto no está relacionado con el modo Magento.

Kandy
fuente
No lo creo, ¿ha verificado cada archivo phtml de módulo en frontend / templates? ¿Todos esos archivos solo se usan para la plantilla de backend php? ¿Por qué la carpeta de vista de cada módulo tiene dos carpetas: frontend y backend?
thienphucvx
cuando digo frontend / backend me refiero al servidor / al lado del cliente. La carpeta adminhtml es Panel de administración y la interfaz es la parte frontal de la tienda (puede tener una parte frontal /
interna
Creo que entiendo que html está representado por javascript. Pero no estoy claro por qué lo están usando. Por ejemplo, personalizamos el contenido de minicart en content.html . Pero para personalizar el formulario en revisión, lo editamos en form.phtml ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/… )
thienphucvx
m2 tiene muchos códigos heredados (m1). no todas las partes se refactorizan, pero el proceso de mover la representación del contenido en el lado del cliente continuará. y puede usar la representación del lado del cliente
KAndy
Entonces, ¿significa que en el futuro solo hay un archivo html para el lado del cliente?
thienphucvx
2

@thienphucvx La documentación en http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-inherit.html es incorrecta.

La respuesta correcta está dentro de: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/templates/template-sample.html .

Si vendor/magento/module-checkout/view/frontend/templates/cart/minicart.phtmltuviera que mirar el archivo al que se hace referencia en el primer enlace , vería que no puede modificar la ubicación de los elementos en el minicart con el botón de pago.

Esto se debe a que esa parte del minicart está aquí: vendor/magento/module-checkout/view/frontend/web/template/minicart/content.html

Cuando encuentro inconsistencias en los documentos, como usted tiene aquí, abro una solicitud de extracción en GitHub. Hay demasiados documentos para que el equipo de documentación tenga el 100% de corrección todo el tiempo. Abra un RP, revisarán su actualización ... y si no están seguros de sí mismos, se comunicarán con una autoridad interna sobre el tema y se pondrán en contacto con usted para informarle si está correcto o no. Son amigables ¡Ve a por ello!

ryanF
fuente