e ainda não entendo o que devo fazer para que meu tema apareça no back-end. Eu criei meu tema app/design/adminhtml/Vendor/themenamee ele tem um theme.xmle um registration.php(o mesmo que o meu tema de front-end, que está funcionando muito bem). No entanto, as instruções acima falam sobre um etc/di.xmlque eu não tenho idéia de onde colocar (ou essa é a solução?)
O Google não me levou a lugar algum, os documentos oficiais do Magento 2 são péssimos (como sempre), então não há ajuda lá.
Então, resumo summa: como ativar meu tema de administrador personalizado?
Crie um novo módulo para implantar seu tema ou use algum módulo existente; de qualquer maneira, em seus módulos,module.xml adicione o sequenceelemento xml para garantir que seu tema seja carregado por último.
e em seus módulos personalizados, etc/di.xmladicione o fragmento que especifica o tema do administrador a ser usado:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Theme\Model\View\Design">
<arguments>
<argument name="themes" xsi:type="array">
<item name="adminhtml" xsi:type="string">Vendor/Themename</item>
</argument>
</arguments>
</type>
</config>
corra setup:upgradee pronto! Verifique qual tema está sendo usado pela fonte de visualização: todos os arquivos css e js agora devem ser carregados a partir de/pub/static/adminhtml/Vendor/Themename/[language]/....
No entanto, todas as páginas de administração parecem ter estilos ausentes . Estou no modo de desenvolvedor e fiz um setup:static-content:deploy [languages](sem erros), mas isso não resolveu o problema. Eu tive esse mesmo problema no frontend também, mas não consigo me lembrar de como o corrigi. Preciso copiar arquivos js e css do magento-backendmódulo para fazer isso funcionar?
PROBLEMA RESOLVIDO : parece que encontrei este problema: Maneira correta de atualizar o pai de um tema no Magento 2 onde, se eu instalar meu tema e depois mudar o pai para outra coisa theme.xml, ele não será atualizado no banco de dados e não será necessário efeito. Inicialmente, eu coloquei o Magento / blank no elemento pai, e isso obviamente não funcionou, e alterá-lo para Magento / back-end mais tarde também não ajudou (como no link acima). Então, entrei no banco de dados e configurei o parent_id para o meu tema manualmente. E assim, tudo funciona :)
Eu posso ver (comparando com outra instalação com o tema padrão do administrador) que /pub/static/adminhtml/Magento/backend/[language]/css/styles.css não é mencionado na fonte. Os vendor/magento/magento-backend/viewarquivos de layout e de layout também não são mencionados lá. Aparentemente, está especificado, vendor/magento/theme-adminhtml-backend/Magento_Backend/layout/default.xmlmas como faço para aparecer também no meu tema?
Kampaviineri
Seu tema é herdado do Magento Backend ou não?
8284 Alex
@ Alex sim, como você pode ver no meu theme.xmlacima, e agora eu tenho quase trabalhando: eu criei um app/design/adminhtml/Vendor/Themename/Magento_Theme/layout/default.xmle nesse arquivo eu especifiquei <css src="css/styles.css" /> Então eu copiei o arquivo css para o meu tema vendor/magento/theme-adminhtml-backend/web/css/styles.csse agora eu posso vê-lo a fonte e as coisas estão melhor. No entanto, algo crucial ainda parece estar faltando, o back-end agora tem estilos, mas o layout está todo ferrado.
Kampaviineri
Podemos ter um exemplo de link do tema Admin no GitHub?
Ankit Shah
2
Para aplicar o tema Admin, você precisa criar um novo módulo e especificá-lo lá:
Verifique se você está no modo de desenvolvedor.
Crie um MyVendor_MyBackendThememódulo separado . (semelhante ao https://github.com/magento/magento2-samples/tree/master/sample-module-minimal por exemplo, mas não se esqueça de editar o module.xmle registration.phpse você decidir usá-lo). Em module.xmlespecifique que o Magento_Thememódulo carrega antes do módulo adicionando:
<nome do módulo = "MyVendor_MyBackendTheme" setup_version = "2.0.1">
<sequência>
<nome do módulo = "Magento_Theme" />
</sequence>
</module>
Adicione o <module>/etc/di.xml, onde adicione o seguinte nó:
<type name = "Magento \ Theme \ Model \ View \ Design">
<argumentos>
<nome do argumento = "themes" xsi: type = "array">
<nome do item = "adminhtml" xsi: type = "string"> your_vendor_dir / your_theme_dir </item>
</argument>
</arguments>
</type>
Execute o magento setup:upgradecomando
Abra o Admin e veja o novo tema aplicado (espero :):).
ps: nós planejamos adicionar o doc oficial em breve
Alex
Então você quer dizer que tenho que criar um módulo completo (além do meu tema) apenas para implantar o meu tema de administrador? Que loucura é essa !?
Kampaviineri 07/07
Eu tenho outro módulo que criei para esta loja virtual, presumo que posso usá-lo para especificar o tema do administrador. Vai deixar você sabe como isso panelas para fora :)
Kampaviineri
Sim, é claro que você pode usar o módulo personalizado existente.
8286 Alex
1
HI @Alex Obrigado pela explicação. Podemos ter um exemplo de tema de administração no github?
/pub/static/adminhtml/Magento/backend/[language]/css/styles.css
não é mencionado na fonte. Osvendor/magento/magento-backend/view
arquivos de layout e de layout também não são mencionados lá. Aparentemente, está especificado,vendor/magento/theme-adminhtml-backend/Magento_Backend/layout/default.xml
mas como faço para aparecer também no meu tema?theme.xml
acima, e agora eu tenho quase trabalhando: eu criei umapp/design/adminhtml/Vendor/Themename/Magento_Theme/layout/default.xml
e nesse arquivo eu especifiquei<css src="css/styles.css" />
Então eu copiei o arquivo css para o meu temavendor/magento/theme-adminhtml-backend/web/css/styles.css
e agora eu posso vê-lo a fonte e as coisas estão melhor. No entanto, algo crucial ainda parece estar faltando, o back-end agora tem estilos, mas o layout está todo ferrado.Para aplicar o tema Admin, você precisa criar um novo módulo e especificá-lo lá:
MyVendor_MyBackendTheme
módulo separado . (semelhante ao https://github.com/magento/magento2-samples/tree/master/sample-module-minimal por exemplo, mas não se esqueça de editar omodule.xml
eregistration.php
se você decidir usá-lo). Emmodule.xml
especifique que oMagento_Theme
módulo carrega antes do módulo adicionando:<module>/etc/di.xml
, onde adicione o seguinte nó:Execute o
magento setup:upgrade
comandoAbra o Admin e veja o novo tema aplicado (espero :):).
fonte