Saya telah menambahkan modul pengembangan lokal (git repo terpisah) ke Magento 2 menggunakan tautan simbolis dan itu berfungsi dengan baik sampai saya menekan templat PHTML. Setelah debugging berat saya menemukan bahwa kelas sistem file Magento 2 ( Magento\Framework\Filesystem\Directory\Read
) menggunakan isExists()
metode yang dikombinasikan dengan getAbsolutePath()
panggilan untuk melihat apakah template PHTML ada. Namun, getAbsolutePath()
metode ini memeriksa apakah path relatif ada di dalam sistem file Magento 2 dan jika tidak, ia akan melanjutkan root Magento 2. Itu. Dalam kasus saya, modul tinggal di repo terpisah /git/A
sementara Magento tinggal /site/B
dan perilaku ini memeriksa keberadaan templat PHTML di /site/B/git/A
.
Singkatnya: Templat PHTML yang hidup di luar sistem file root Magento 2 tidak diambil, terlepas dari pengaturan Konfigurasi Sistem "Izinkan Symlinks" dihidupkan. Tampaknya pengaturan berfungsi, tetapi hanya jika sumber symlink masih dalam sistem file Magento 2.
Adakah orang lain yang mengalami ini? Apa yang akan menjadi cara terbaik untuk menangani pengembangan dalam repo git eksternal?