Agregué un módulo de desarrollo local (repositorio git separado) a Magento 2 usando enlaces simbólicos y funcionó bien hasta que llegué a las plantillas PHTML. Después de una fuerte depuración descubrí que la clase de sistema de archivos Magento 2 ( Magento\Framework\Filesystem\Directory\Read
) usa un isExists()
método combinado con una getAbsolutePath()
llamada para ver si existe la plantilla PHTML. Sin embargo, el getAbsolutePath()
método verifica si la ruta relativa existe dentro del sistema de archivos Magento 2 y si no, antepone la raíz de Magento 2. eso. En mi caso, el módulo vive en un repositorio separado /git/A
mientras Magento vive /site/B
y este comportamiento verifica la existencia de una plantilla PHTML en /site/B/git/A
.
En resumen: las plantillas PHTML que viven fuera del sistema de archivos raíz de Magento 2 no se seleccionan, independientemente de que la configuración del sistema "Permitir enlaces simbólicos" esté activada. Parece que la configuración está funcionando, pero solo si la fuente del enlace simbólico todavía está dentro del sistema de archivos Magento 2.
¿Alguien más ha encontrado esto? ¿Cuál sería la mejor manera de manejar el desarrollo en un repositorio de git externo?