Come posso aggiungere un file css al blocco head in Magento 2 [chiuso]
-
12-12-2019 - |
Domanda
Sto costruendo un modulo Magento 2 per scopi di apprendimento.
Sto cercando di aggiungere un file css a tutte le pagine di prodotti configurabili ma sto fallendo miseramente.
Ecco cosa ho provato.
In app/code/Namespace/Module/view/frontend/layout
Ho aggiunto questo file: catalog_product_view_type_configurable.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../Magento/Core/etc/page.xsd">
<referenceBlock name="head">
<block class="Magento\Theme\Block\Html\Head\Css" name="namespace-module-css">
<arguments>
<argument name="file" xsi:type="string">Namespace_Module:css/styles.css</argument>
</arguments>
</block>
</referenceBlock>
</page>
Il file di layout viene preso in considerazione ma ottengo il seguente errore nella console
403 Forbidden-ROOT / pub/static/frontend/Magento/blank/en_US/Namespace_Module:css / styles.CSS
Il file menzionato nel messaggio di errore non esiste (non viene generato) anche se il file originale che sto cercando di aggiungere esiste /app/code/Namespace/Module/view/frontend/web/css/styles.css
Se rimuovo il Namespace_Module
prefisso dal <argument>
tag include un diverso styles.css
.Quello da pub/static/frontend/Magento/blank/en_US/css/styles.css
.
Cosa sto facendo di sbagliato?
Soluzione
OK.Sono un po ' imbarazzato.
Il problema era tra la mia tastiera e la mia sedia.
Il separatore per il nome del modulo file ad è ::
non :
.
Dovrei fare piu ' attenzione.
Quindi il modo corretto per farlo è.
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../Magento/Core/etc/page.xsd">
<referenceBlock name="head">
<block class="Magento\Theme\Block\Html\Head\Css" name="namespace-module-css">
<arguments>
<argument name="file" xsi:type="string">Namespace_Module::css/styles.css</argument>
</arguments>
</block>
</referenceBlock>
</page>
Dovrei eliminare questa domanda in quanto potrebbe essere fuori tema.
Ma lo lascerò vivere in quanto può servire come materiale di apprendimento per gli altri.