Magento 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>吗?

Answers:


17

如果要将css文件添加到head中,可以使用以下代码:

<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时,显示错误“应创建对象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中的其他库。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.