Question

Je construis un module Magento 2 à des fins d'apprentissage.
J'essaie d'ajouter un fichier CSS à toutes les pages de produits configurables mais j'échoue lamentablement.

Voici ce que j'ai essayé.
Dans app/code/Namespace/Module/view/frontend/layout J'ai ajouté ce fichier : 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>

Le fichier de layout est pris en compte mais j'obtiens l'erreur suivante dans la console

403 Interdit - ROOT/pub/static/frontend/Magento/blank/en_US/Namespace_Module:css/styles.css

Le fichier mentionné dans le message d'erreur n'existe pas (il n'est pas généré) même si le fichier d'origine que j'essaie d'ajouter existe dans /app/code/Namespace/Module/view/frontend/web/css/styles.css
Si je supprime le Namespace_Module préfixe du <argument> tag, il comprend un autre styles.css.Celui de pub/static/frontend/Magento/blank/en_US/css/styles.css.

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

D'accord.Je suis un peu gêné.
Le problème était entre mon clavier et ma chaise.
Le séparateur du fichier publicitaire du nom du module est :: pas :.
Je devrais être plus prudent.
La bonne façon de procéder est donc la suivante.

<?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>

Je devrais supprimer cette question car elle peut sembler hors sujet.
Mais je le laisserai vivre car il pourra servir de matériel d’apprentissage pour d’autres.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top