Magento 2使用RequireJS和版本1不同的方法。因此,如果我想继续使用默认主题luna,则通过添加一个javascript文件来扩展产品页面。什么是最好的方法?
我应该通过创建新模块来扩展它吗?
- Update-- 在考虑了上面的问题之后,我在这里列出了我想要按照以下步骤做的事情。但需要帮助找到方法和解决方案。由于我是Magento 2的新手,有些问题可能对你来说太简单了,请不要介意给予帮助。谢谢!
创建子主题并将Luma主题用作父级。 (我正在研究http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html但是关于如何定位js文件的细节有很多问题)
Magento 2使用RequireJS。放置我的js文件的最佳方法是什么,例如,如果我有一个js文件来触发产品变化的一些事件。并且js文件名为custom-events.js。我应该把它放在哪里?
- 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?
答案 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