Ich habe Magento 2 mithilfe symbolischer Links ein lokales Entwicklungsmodul (separates Git-Repo) hinzugefügt, und es hat einwandfrei funktioniert, bis ich auf die PHTML-Vorlagen gestoßen bin. Nach langem Debuggen stellte ich fest, dass die Magento 2-Dateisystemklasse ( Magento\Framework\Filesystem\Directory\Read
) eine isExists()
Methode verwendet, die mit einem getAbsolutePath()
Aufruf kombiniert wird , um festzustellen, ob die PHTML-Vorlage vorhanden ist. Die getAbsolutePath()
Methode prüft jedoch, ob der relative Pfad im Magento 2-Dateisystem vorhanden ist. Andernfalls wird das Magento 2-Stammverzeichnis vorangestellt. es. In meinem Fall befindet sich das Modul in einem separaten Repo, /git/A
während Magento darin lebt, /site/B
und dieses Verhalten überprüft, ob eine PHTML-Vorlage in vorhanden ist /site/B/git/A
.
Kurz gesagt: PHTML-Vorlagen, die sich außerhalb des Magento 2-Root-Dateisystems befinden, werden unabhängig von der aktivierten Systemkonfigurationseinstellung "Symlinks zulassen" nicht erfasst. Es scheint, dass die Einstellung funktioniert, aber nur, wenn sich die Quelle des Symlinks noch im Magento 2-Dateisystem befindet.
Hat das noch jemand erlebt? Was wäre der beste Weg, um die Entwicklung in einem externen Git-Repo zu handhaben?