Magento 2 - Jak mogę dodać niestandardowy plik szablonu do <head>?


9

W magento 1.x mogę dodać pliki css do głowy za pomocą pomocnika, takiego jak poniższy kod.

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

Ale nie można tego zrobić w Magento 2.

Więc teraz dodałem ten kod <link rel="stylesheet" type="text/css" media="all" href="<?php echo $_helper->getCSSFile()?>">do kontenera „after.body.start”.

Czy ktoś wie, jak mogę dodać niestandardowy plik szablonu <head>?

Odpowiedzi:


17

Jeśli chcesz dodać plik css do głowy, możesz użyć tego kodu:

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

Ale jeśli chcesz dodać niestandardowy blok do nagłówka, możesz użyć tego kodu:

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

Mam nadzieję że to pomoże


Czy możesz zasugerować, jak zrobić to samo w adminie, wypróbowałem wszystkie nazwy bloków odwołań, ale bez powodzenia, chociaż dane wyjściowe pojawiają się poprawnie, gdy używam bloku odwołania do treści
Sunil Verma

kiedy używam własnego bloku niestandardowego zamiast Magento \ Framework \ View \ Element \ Template pojawia się błąd wyświetlania „należy utworzyć obiekt domdocument” jak usunąć ten błąd i użyć mojego niestandardowego bloku?
Sanjay Gohil

2

Przeszukałem tę odpowiedź w Internecie, w końcu przeszedłem przez wiele eksperymentów.

Uważam, że jest to najłatwiejszy sposób:
przejdź do strony znajdującej się w panelu administracyjnym.
Znajdź swoją stronę i przewiń w dół obok sekcji zawartości do sekcji xml aktualizacji układu.
W tym polu możesz dodać specyficzny dla strony CSS i JS.

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

Spowoduje to dodanie skryptu do górnej części sekcji nagłówka.
(Utrudnianie pracy dla JS)

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

Powyżej zauważysz, że requirejsnajpierw dodałem plik. Dzieje się tak, ponieważ bez dodania go przed spersonalizowanym plikiem JS nie będzie można uzyskać dostępu do innych bibliotek załadowanych do wymagań.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.