Eu adicionei um módulo de desenvolvimento local (repositório git separado) ao Magento 2 usando links simbólicos e ele estava funcionando bem até que eu atingi os modelos PHTML. Após uma depuração pesada, descobri que a classe de sistema de arquivos Magento 2 ( Magento\Framework\Filesystem\Directory\Read
) usa um isExists()
método combinado com uma getAbsolutePath()
chamada para verificar se o modelo PHTML existe. No entanto, o getAbsolutePath()
método verifica se o caminho relativo existe no sistema de arquivos Magento 2 e, se não, ele anexa a raiz do Magento 2. isto. No meu caso, o módulo vive em um repositório separado /git/A
enquanto o Magento vive /site/B
e esse comportamento verifica a existência de um modelo PHTML no /site/B/git/A
.
Em resumo: os modelos PHTML que vivem fora do sistema de arquivos raiz Magento 2 não são selecionados, independentemente da configuração da configuração do sistema "Permitir links simbólicos" estar ativada. Parece que a configuração está funcionando, mas apenas se a fonte do link simbólico ainda estiver dentro do sistema de arquivos Magento 2.
Alguém mais encontrou isso? Qual seria a melhor maneira de lidar com o desenvolvimento em um repositório Git externo?