Magento 2의 헤드 블록에 CSS 파일을 어떻게 추가합니까?
-
12-12-2019 - |
문제
저는 학습 목적으로 Magento 2 모듈을 만들고 있습니다.
구성 가능한 모든 제품 페이지에 CSS 파일을 추가하려고 하는데 비참하게 실패하고 있습니다.
내가 시도한 것은 다음과 같습니다.
~ 안에 app/code/Namespace/Module/view/frontend/layout
이 파일을 추가했습니다. 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>
레이아웃 파일이 고려되지만 콘솔에 다음 오류가 발생합니다.
403 금지됨 - ROOT/pub/static/frontend/Magento/blank/en_US/Namespace_Module:css/styles.css
추가하려는 원본 파일이 존재하는데도 오류 메시지에 언급된 파일이 존재하지 않습니다(생성되지 않습니다). /app/code/Namespace/Module/view/frontend/web/css/styles.css
내가 제거하면 Namespace_Module
접두사 <argument>
태그에는 다른 태그가 포함되어 있습니다. styles.css
.에서 온 것 pub/static/frontend/Magento/blank/en_US/css/styles.css
.
내가 도대체 뭘 잘못하고있는 겁니까?
해결책
좋아요.조금 당황스럽습니다.
문제는 키보드와 의자 사이에 있었습니다.
모듈 이름 광고 파일의 구분 기호는 다음과 같습니다. ::
~ 아니다 :
.
좀 더 조심해야겠어요.
따라서 올바른 방법은 다음과 같습니다.
<?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>
이 질문은 주제와 맞지 않을 수 있으므로 삭제해야 합니다.
하지만 다른 사람들을 위한 학습 자료가 될 수 있으므로 그대로 두겠습니다.