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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top