Magento 2 - Làm cách nào tôi có thể thêm tệp mẫu tùy chỉnh vào <head>?


9

Trong magento 1.x, tôi có thể thêm các tệp css vào phần đầu bằng cách sử dụng trình trợ giúp như mã bên dưới.

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

Nhưng không thể làm điều này trên Magento 2.

Vì vậy, bây giờ, tôi đã thêm mã này <link rel="stylesheet" type="text/css" media="all" href="<?php echo $_helper->getCSSFile()?>">vào thùng chứa "after.body.start".

Bất cứ ai biết làm thế nào tôi có thể thêm tập tin mẫu tùy chỉnh vào <head>?

Câu trả lời:


17

Nếu bạn muốn thêm tập tin css vào đầu, bạn có thể sử dụng mã này:

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

Nhưng nếu bạn cần thêm khối tùy chỉnh vào đầu, bạn có thể sử dụng mã này:

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

Hi vọng điêu nay co ich


Bạn có thể đề xuất cách làm tương tự trong quản trị viên không, tôi đã thử tất cả các tên khối tham chiếu nhưng không có may mắn, mặc dù đầu ra xuất hiện chính xác khi tôi sử dụng công cụ tham chiếu nội dung
Sunil Verma

Khi tôi đang sử dụng khối tùy chỉnh của mình thay vì Magento \ Framework \ View \ Element \ Template thì đó là lỗi hiển thị "nên tạo đối tượng domdocument" làm thế nào để loại bỏ lỗi này và sử dụng khối tùy chỉnh của tôi?
Sanjay Gohil

2

Tìm kiếm trên tất cả các trang web cho câu trả lời này, cuối cùng đã có nó thông qua rất nhiều thử nghiệm.

Tôi tin rằng đây là cách dễ nhất:
Chuyển đến trang nằm trong bảng Quản trị.
Tìm trang của bạn và cuộn xuống qua phần nội dung đến phần xml cập nhật bố cục.
Trong hộp đó, bạn có thể thêm CSS và JS cụ thể của trang.

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

Điều này sẽ thêm tập lệnh của bạn vào đầu phần đầu.
(Làm cho mọi thứ trở nên khó khăn cho JS của bạn)

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

Ở trên bạn sẽ nhận thấy rằng tôi đã thêm các requirejstập tin đầu tiên. Điều này được thực hiện bởi vì không thêm nó trước tệp JS được cá nhân hóa của bạn, bạn sẽ không thể truy cập vào các thư viện khác được tải vào requestjs.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.