Pregunta

Estoy construyendo una Magento 2 módulo con fines de aprendizaje.
Estoy tratando de agregar un archivo css para todas las páginas de producto configurable pero estoy fallando miserablemente.

Aquí es lo que he intentado.
En app/code/Namespace/Module/view/frontend/layout He añadido este archivo: 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>

El archivo de diseño se toma en cuenta pero me sale el siguiente error en la consola

403 Forbidden - ROOT/pub/static/frontend/Magento/en blanco/es_es/Namespace_Module:css/estilos.css

El archivo mencionado en el mensaje de error no existe (no es generado), incluso si el archivo original, estoy tratando de agregar existe en /app/code/Namespace/Module/view/frontend/web/css/styles.css
Si puedo quitar el Namespace_Module prefijo de la <argument> la etiqueta incluye una diferente styles.css.El uno de pub/static/frontend/Magento/blank/en_US/css/styles.css.

¿Qué estoy haciendo mal?

¿Fue útil?

Solución

Ok.Estoy un poco avergonzado.
El problema era entre mi teclado y mi silla.
El separador de módulo nombre de archivo de anuncio es :: no :.
Debo ser más cuidadoso.
Así que la forma correcta de hacerlo es.

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

Que debo eliminar esta pregunta como es posible que la costura fuera de tema.
Pero voy a dejar de vivir como puede servir como material de aprendizaje para los demás.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top