Я додав модуль локальної розробки (окремий git repo) до Magento 2 за допомогою символічних посилань, і він працював чудово, поки не потрапив на шаблони PHTML. Після важкої налагодження я з'ясував, що клас файлової системи Magento 2 ( Magento\Framework\Filesystem\Directory\Read
) використовує isExists()
метод, поєднаний з getAbsolutePath()
викликом, щоб перевірити, чи існує шаблон PHTML. Однак getAbsolutePath()
метод перевіряє, чи існує відносний шлях у файловій системі Magento 2, і якщо ні, він примушує кореня Magento 2 до. це. У моєму випадку модуль живе в окремому репо, /git/A
тоді як живе Magento, /site/B
і ця поведінка перевіряє наявність шаблону PHTML в /site/B/git/A
.
Коротше кажучи: шаблони PHTML, що живуть поза кореневою файловою системою Magento 2, не вибираються, незалежно від включеного параметра "Конфігурація системи" "Дозволити посилання". Здається, що налаштування працює, але лише в тому випадку, якщо джерело симпосилання все ще знаходиться у файловій системі Magento 2.
Хтось ще стикався з цим? Який був би найкращий спосіб впоратися з розвитком у зовнішньому git repo?