마 젠토 2-<head>에 커스텀 템플릿 파일을 어떻게 추가 할 수 있습니까?


9

magento 1.x에서는 아래 코드와 같은 도우미를 사용하여 CSS 파일을 헤드에 추가 할 수 있습니다.

<reference name="head">
    <action method="addCss"><stylesheet helper="module/helperclass/helperfunction"/></action>
</reference>

그러나 Magento 2에서는이 작업을 수행 할 수 없습니다.

<link rel="stylesheet" type="text/css" media="all" href="<?php echo $_helper->getCSSFile()?>">이제이 코드 를 "after.body.start"컨테이너에 추가했습니다 .

누구나 사용자 정의 템플릿 파일을 <head>어떻게 추가 할 수 있습니까?

답변:


17

CSS 파일을 헤드에 추가하려면 다음 코드를 사용할 수 있습니다.

<head>
   <css src="path_to/file.css" />
</head>

그러나 머리에 사용자 정의 블록을 추가 해야하는 경우이 코드를 사용할 수 있습니다.

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="head.additional">
            <block class="Magento\Framework\View\Element\Template" name="block_name" template="path_to_file.phtml" />
        </referenceBlock>
    </body>
</page>

도움이 되었기를 바랍니다


당신은 관리자에서 동일한 작업을 수행하는 방법을 제안 할 수 있습니까, 모든 참조 블록 이름을 시도했지만 운이 없습니다. 콘텐츠 참조 블록을 사용할 때 출력이 올바르게 나타납니다.
Sunil Verma

Magento \ Framework \ View \ Element \ Template 대신 내 사용자 지정 블록을 사용하는 경우이 오류를 제거하고 내 사용자 지정 블록을 사용하는 방법은 "object domdocument를 만들어야합니다"라는 오류가 표시됩니다.
Sanjay Gohil

2

이 답변에 대해 웹 전체를 검색하여 마침내 많은 실험을 거쳤습니다.

가장 쉬운 방법이라고 생각합니다
. 관리자 패널에있는 페이지로 이동하십시오.
페이지를 찾아 내용 섹션을 지나서 레이아웃 업데이트 xml 섹션으로 스크롤하십시오.
이 상자에서 페이지 별 CSS 및 JS를 추가 할 수 있습니다.

<head> <css src="js/ingredients.css> </head>  

그러면 헤드 섹션 상단에 스크립트가 추가됩니다.
(JS를 까다롭게 만들기)

<head><script src="requirejs/require.js"/><script src="js/ingredients.js"/></head>  

위의 requirejs파일을 먼저 추가했음을 알 수 있습니다. 이는 개인화 된 JS 파일 앞에 파일을 추가하지 않으면 requirejs에로드 된 다른 라이브러리에 액세스 할 수 없기 때문에 수행됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.