将TypeKit代码(或任何代码)添加到Magento 2站点的头部

时间:2016-03-16 12:04:26

标签: magento head magento2

我想要做的就是将TypeKit中的自定义字体添加到我的Magento 2网站。

以前我只是习惯找到/app/design/frontend/XXX/XXX/page/head.phtml并编辑它。简单。

使用Magento 2似乎非常复杂。 I keep finding articles like this。我是否真的需要创建一个完整的模块才能在文档的头部添加2行基本HTML?

当然必须有一种更简单的方法吗?

I found this similar question,但我没有得到答案。我在哪里创建主题中的布局文件?或者它是否建议我再次创建一个完整的单独模块?

I also found this question,看起来很疯狂。我是否认为他们正在编辑3个单独的文件,jsut将JS文件添加到头部?

当然这不对吗?我是否可以编辑head.phtml文件?

有人可以为我打破这个,假设我是个白痴,并解释我如何轻松地向Head添加2行TypeKit代码。非常感谢。

4 个答案:

答案 0 :(得分:3)

在您的magento管理区域:导航到“商店”菜单项,在“设置”标题下,单击“配置”,在“配置”中单击“设计”。 在“HTML Head”部分下,您将看到一个显示“Miscellaneous Scripts”的框,您在此处添加的任何内容都将添加到网站的head部分。

答案 1 :(得分:2)

我还不知道如何将它添加到phtml文件中,不过这是我在自定义字体中添加主题的方法。

在: app/design/frontend/<vendor_name>/<theme_name>/Magento_Theme/layout/default_head_blocks.xml

使用(示例):

<block type="core/text" name="example_font">
    <action method="setText">
        <text>
            <![CDATA[<script src="https://blahblahblah.js"></script><script>try{Typekit.load();}catch(e){}</script>]]>
        </text>
    </action>
</block>

然后将其设置为基本字体/您想要的任何内容: app/design/frontend/<vendor_name>/<theme_name>/web/css/source/_variables.less

希望即使只是一点点也有帮助!

答案 2 :(得分:0)

仅供参考,看起来这里提到的“HTML Head”已经在Magento 2管理员中移动了。它现在在:

管理员&gt;内容&gt;配置&gt; [点击主题名称上的“修改”]&gt;其他设置&gt; HTML头

答案 3 :(得分:0)

虽然我喜欢按照knarfeolhcs回答使用layout xml的想法,但是建议的布局xml不正确,因为在Magento 2中不存在type =“core / text”。这是我用来添加的布局xml typekit app/design/frontend/<vendor_name>/<theme_name>/Magento_Theme/layout/default_head_blocks.xml

<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <script src="https://use.typekit.net/xxxxxxx.js" src_type="url" />
    </head>

    <body>
        <referenceBlock name="head.additional">
            <block class="Magento\Framework\View\Element\Text" name="typekit">
                <arguments>
                    <argument name="text" xsi:type="string"><![CDATA[<script>try{Typekit.load({ async: true });}catch(e){}</script>]]></argument>
                </arguments>
            </block>
        </referenceBlock>
    </body>
</page>