Magento 2 - 如何仅将其他js文件添加到产品页面

时间:2016-04-19 20:53:10

标签: magento2 magento-2.0

Magento 2使用RequireJS和版本1不同的方法。因此,如果我想继续使用默认主题luna,则通过添加一个javascript文件来扩展产品页面。什么是最好的方法?

我应该通过创建新模块来扩展它吗?

- Update-- 在考虑了上面的问题之后,我在这里列出了我想要按照以下步骤做的事情。但需要帮助找到方法和解决方案。由于我是Magento 2的新手,有些问题可能对你来说太简单了,请不要介意给予帮助。谢谢!

  1. 创建子主题并将Luma主题用作父级。 (我正在研究http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html但是关于如何定位js文件的细节有很多问题)

  2. Magento 2使用RequireJS。放置我的js文件的最佳方法是什么,例如,如果我有一个js文件来触发产品变化的一些事件。并且js文件名为custom-events.js。我应该把它放在哪里?

  3. - Update-- 创建了luna的子主题,即:命名为:Vendor和lunachild:

    app/design/frontend/Vendor/lunachild/theme.xml
    app/design/frontend/Vendor/lunachild/registration.php
    app/design/frontend/Vendor/lunachild/etc/view.xml
    

    如何在我的主题中放置catalog_product_view.xml?

2 个答案:

答案 0 :(得分:1)

您可以通过xml布局添加js。您必须将catalog_product_view.xml覆盖为本地主题。

<?xml version="1.0"?>
<!-- /** * Copyright © 2015 Scommerce Mage. All rights reserved. * See COPYING.txt for license details. */ -->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <link src="Custom_Module::custom.js"/>
        <css src="Custom_Module::custom.css"/>
    </head>
    <body/>
</page>

您还可以使用require.js并使用head.additional block

添加css或js

答案 1 :(得分:0)

我发现更好的方法是详细介绍回调逻辑: http://devdocs.magento.com/guides/v2.0/architecture/view/static-process.html

此外,有一个很棒的教程可以解释如何在Magento2中初始化javascript:阅读本文:http://alanstorm.com/magento_2_javascript_init_scripts,以及Magento文档:http://devdocs.magento.com/guides/v2.1/javascript-dev-guide/javascript/js_init.html