Questions tagged «javascript»

JavaScript(JS)是一种客户端脚本语言,它允许与用户交互,控制浏览器,异步通信以及更改显示的文档内容。默认情况下,Magento 1带有prototype.js库,Magento 2带有jQuery。使用“ prototype-js”和“ jquery”标签来查询有关这些库的问题。

1
如何使用JavaScript从本机客户端访问Magento API
我需要从基于本地JavaScript的应用程序(Titanium Desktop)访问Magento API,并想知道这样做的最佳方法是什么。 到目前为止,我发现了什么: 唯一的身份验证机制是OAuth,因此用户必须在现场输入其凭据 有一个JavaScript客户端库:https : //code.google.com/p/oauth/source/browse/#svn%2Fcode%2Fjavascript 对于作为OAuth客户端的本机应用,建议使用OAuth 2用户代理流程。 重定向URL必须指向必须从中提取或复制和粘贴令牌的本地页面 问题: 将身份验证机制交换为带有应用程序密钥和机密的基于HMAC的身份验证是否可行?是否有经过验证的解决方案? 如果没有,Magento是否可以执行OAuth用户代理流程?该文档没有提及它。 是否可以使用AJAX提交用户凭据(此处不是跨域策略),以便向用户隐藏大部分授权过程?然后可以直接从响应中提取访问令牌。
9 javascript  oauth  api 

5
Magento 2:如何使用Cookie?
我们如何在magento 2中使用cookie来存储数据。 我正在尝试将数据存储在Cookie中, vendor/magento/module-checkout/view/frontend/web/js/model/resource-url-manager.js 以存储选定的估计运输方式,

1
Magento 2:如何运送称为On Checkout的rest api函数?
当您在“结帐页面”上单击“在此处寄送”时,它将调用 magento / rest / default / V1 / carts / mine / estimate-shipping-methods-by-address-id 然后转到下面的JS文件 magento \ vendor \ magento \ module-checkout \ view \ frontend \ web \ js \ model \ shipping-rate-processor \ customer-address.js magento \ vendor \ magento \ module-checkout \ view \ frontend \ web \ …


5
将模块的外部.js文件代码移至模板[phtml]文件
我们有一个带有以下代码的自定义模块 app/design/frontend/rwd/Theme1/layout/aitcg.xml <action method="addJs"><script>aitoc/aitcg/Aitcg/View/Abstract.js</script></action> 由于我们无法在此.JS文件中使用php代码,因此有什么方法可以将当前Abstract.js文件中的代码移动到某个.phtml文件中? 编辑 我按照拉斐尔的答案并更改了代码,如下所示: <block type="aitcg/template" name="aitcg_js_styles1" template="aitcg/js_styles1.phtml" /> 但仍然Abstract.Js文件的结果未显示在js_styles1.phtml中 布局文件:http://pastebin.com/BZGRaiDH js_styles1.phtml:http://pastebin.com/m85q9eMh 我正在尝试onclick button =,onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();"但这在.JS文件中不起作用,所以只有我正在尝试将.js代码复制到.php代码。 <script> _getControlPanelHtml: function() { if (this.config.editorEnabled) { return '<div id="aitcg-control-panel">' + '<button id="submit-editorApply-{{rand}}" onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();">SAVE DESIGN</button>' + '<button id="submit-editorReset-{{rand}}" >{{reset_text}}</button>' + '</div>'; } return ''; }, </script> 当我检查模板路径提示时,它正在加载phtml文件,但是JS代码结果未显示在前端。但是其他的html,php,js代码结果仍在显示..... 安慰 …

1
自定义Magento 2主导航(topmenu)javaScript
我花了很多时间研究主题模块和空白模板,以尝试更改Magento2的主要导航。到目前为止,我已经制作了一个自定义模块来控制呈现到页面中的内容(向subnav添加链接),但是我无法确定导航菜单javaScript的位置。 我可以在空白模板中看到一个navigation.menu.js文件,在主题模块中看到了menu.js,但是这些似乎都不是主菜单,而且找不到其他地方可以找到JS。 因为该块是由XML生成的,并且导航似乎在jQuery UI上运行,所以我没有太多可以用来搜索的内容。到目前为止,我主要是通过搜索供应商目录来修改基于基础模板构建的自定义模板,但是我还是空白。 我正在运行Magento 2.1,并在基础模板的基础上构建了自定义模板,如果有人可以向我指出正确的方向,那将是很大的帮助。 编辑1: 因此,经过更多的谷歌搜索和测试之后,我终于在lib / web / mage中找到了第二个menu.js文件,这似乎是正确的位置,但是现在我无法覆盖它。 有了我的新信息,我实际上偶然发现了Magento2开发文档,其中有一个覆盖菜单和管理菜单的示例。所以我在模块中添加了以下内容 命名空间/模块/视图/前端/require-config.js var config = { map: { '*': { 'menu': 'Test_Topmenu/js/navigation-menu' } } }; 命名空间/模块/视图/前端/web/js/navigation-menu.js define([ 'jquery', 'jquery/ui', 'mage/menu' ], function ($) { "use strict"; $.widget('Test_Topmenu.navigationMenu', $.mage.menu, { _init: function () { console.log('new init'); } }); return …

1
Magento_Ui / js / lib / knockout / extender / bound-nodes RequireJS模块做什么?
Magento 2中的Knockout.js引导程序模块通过define依赖项包含以下模块。 Magento_Ui/js/lib/knockout/extender/bound-nodes 从技术上讲,此模块为ko.applyBindings和ko.cleanNode方法创建包装器。这些包装器将某些视图模型和节点存放在私有javascript中WeakMap,然后返回一个注册表对象,使您可以访问WeakMap。 但是,尚不清楚此功能使最终用户程序员面对哪些功能。这里有人知道Magento_Ui/js/lib/knockout/extender/bound-nodes模块的实际用途吗?还是对Knockout.js内部结构很熟悉以解决问题?

1
Magento 2的javascript中的$$是什么意思?
在某些Magento核心模块中,我看到$$选择元素时不断使用的符号。例如,在仅10行代码中,我具有以下不同的选择器: $('selection-apparently-a-custom-element') $$('#some-element-id') jQuery('#another-element-id') 这有什么意义呢?

3
Magento 2-繁重的加载时间(太多js文件)
我目前正在研究Magento 2,我注意到所有页面的加载时间都非常长。 目前,我正在Xampp上运行,启用了生产模式,合并并缩小了HTML / js / CSS,禁用了Varnish,由于我的网络托管无法将其安装在服务器上,因此我将不使用它,因为它会干扰一些脚本。我使用一个自定义主题,其父主题是Magento 2的空白主题。更改设置后,我重新部署了静态文件并清空了缓存。 我主要担心的是,当我查看网络面板时,每次都会加载大量的js文件。例如,在我的类别页面上,加载了122个js文件,发现这些文件很多,总大小为955 ko。 我在服务器上对其进行了测试,没有进行合并和精简,但是如上所述,我认为问题在于文件的加载量,因为即使加载速度更快,它仍然太长,而在结帐过程中,甚至更糟。 我尝试了捆绑选项,但它会生成一个8MB的js文件,情况更糟。 我是否错过了一些东西,或者说js文件这么多,这在某种程度上正常吗?是否必须使用Varnish才能获得良好的性能,并且有替代方法吗? 我对Magento 2还是很陌生,所以如果您需要更多信息,我们将很乐意提供。

3
Magento如何/在哪里将RequireJS模块名称转换为URL?
在Magento 2中,您可以使用RequireJS包含一个JavaScript模块,其代码如下所示。 #File: app/code/Package/Name/view/frontend/requirejs-config.js var config = { map: { '*': { modulename: 'Package_Name/js/path/to/file' } } } 虽然该requirejs-config.js文件有点像Magento 2的魔力,但这似乎是标准的RequireJS。您基本上是将短名称映射到名为modulename的javascript模块Package_Name/js/path/to/file。 还不清楚Magento 2 在何处或如何转换上面的javascript模块名称 Package_Name/js/path/to/file 进入HTTP(S)网址 //magento.example.com/static/frontend/Magento/luma/en_US/Package_Name/js/path/to/file.js 在常规RequireJS系统中,RequireJS会尝试加载以下URL //magento.example.com/Package_Name/js/path/to/file.js 很明显,Magento正在做一些事情,以确保将上述URL转换为Magento前端URL。不清楚的是 发生这种情况的地方(PHP层?JavaScript层?) 转换的规则是什么。RequireJS模块看上去不像标准的Magento文件标识符(Package_Name::js/path/to/file) 因此,Magento 2 / 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.