Magento 2 - Bagaimana saya bisa menambahkan file template khusus ke <head>?

9

Di magento 1.x, saya bisa menambahkan file css ke kepala menggunakan helper seperti kode di bawah ini.

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

Tetapi tidak dapat melakukan ini di Magento 2.

Jadi sekarang, saya menambahkan kode ini <link rel="stylesheet" type="text/css" media="all" href="<?php echo $_helper->getCSSFile()?>">ke dalam wadah "after.body.start".

Adakah yang tahu bagaimana cara menambahkan file template khusus <head>?

Mike
sumber

Jawaban:

17

Jika Anda ingin menambahkan file css ke kepala Anda dapat menggunakan kode ini:

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

Tetapi jika Anda perlu menambahkan custom block in head, Anda dapat menggunakan kode ini:

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

Semoga ini membantu

Ihor Klymchuk
sumber
Dapatkah Anda menyarankan cara melakukan hal yang sama di admin, saya telah mencoba semua nama blok referensi tetapi tidak berhasil, meskipun output muncul dengan benar ketika saya menggunakan referenceblock konten
Sunil Verma
ketika saya menggunakan blok khusus saya alih-alih Magento \ Framework \ View \ Elemen \ Templat itu menampilkan kesalahan "objek domdocument harus dibuat" bagaimana cara menghapus kesalahan ini dan menggunakan blok khusus saya?
Sanjay Gohil
2

Dicari di seluruh web untuk jawaban ini, akhirnya berhasil melalui banyak eksperimen.

Saya yakin ini cara termudah:
Buka halaman yang terletak di panel Admin.
Temukan halaman Anda dan gulir ke bawah melewati bagian konten ke bagian pembaruan tata letak xml.
Di dalam kotak itu Anda bisa menambahkan CSS dan JS spesifik halaman.

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

Ini akan menambahkan skrip Anda ke bagian atas bagian kepala.
(Membuat hal-hal sulit untuk JS Anda)

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

Di atas Anda akan melihat bahwa saya menambahkan requirejsfile terlebih dahulu. Ini dilakukan karena tanpa menambahkannya sebelum file JS yang dipersonalisasi, Anda tidak akan dapat mengakses pustaka lain yang dimuat ke needsejs.

Daniel Barenboim
sumber