Questions tagged «javascript»

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

4
向Magento 2添加jQuery库
第三方开发人员如何将jQuery库添加到Magento 2? 虽然Magento 2在其前端主题中包含jQuery版本,但jQuery对象在全局名称空间中并不立即可用。我相信这是因为Magento 2使用RequireJS引入jQuery,并且RequireJS直到需要它时才加载模块文件。 这给jQuery插件带来了一个问题。通常,我会提供一个HTML插件,看起来像这样 <script type="text/javascript" src="http://magento-1-9-2-2.dev/js/commercebug/jquery-ui-1.8.custom/js/jquery.cookie.js"></script> 但是,这对于Magento 2是不可能的。因为该jquery.cookie.js文件通过使用全局jQuery对象定义了jQuery插件,所以它将在Magento 2中失败并出现jQuery is not defined错误。 前端开发人员应如何在Magento 2的前端应用程序中包括标准的jquery插件库?

4
Magento2本地化Javascript
这里已经提出了类似的问题:Magento 2 javascript文本翻译,但是Magento在beta版本中更新了此翻译技术。 如何添加或更新Javascript使用的翻译? 我发现Magento在静态文件夹中创建了一个名为“ js-translation.json”的文件。如果直接编辑此文件,我会看到翻译已更新。但是,该文件在哪里创建,以及如何添加翻译,以便Magento在生成文件时将其自动添加到js-translation.json中? 更新资料 仍然没有给出该问题的正确答案,尽管Mage2.PRO向我指出了正确的方向,但这不是完整的答案。生成时,我的js-translation.json仍然为空。 例如,我喜欢翻译“添加到购物车”按钮。此按钮具有三种状态,“添加到购物车”,“正在添加...”和“已添加...”如何翻译这些单词?再例如,“您的购物车中没有商品”。微型购物车中的文字。我认为所有这些短语都应该从js-translation.json进行翻译,但是在哪里添加它们,以便这些文件充满这些翻译?

1
如何在Magento 2中选择关于运输方式的自定义阻止
使用参考链接如何在一页结帐中的以下运送方式中添加自定义阻止?,我可以在底部创建其他装运块。 但是,当选择运输方式时,我只想显示内容。当客户选择一种运输方式时,光标应转到其他信息和自定义字段,并且用户应输入数据。 当我们选择其他送货方式时,与此相关的信息(如果存在)应该会出现,否则div应该被隐藏。 与Magento 2中的http://excellencemagentoblog.com/blog/2011/11/07/magento-advanced-shipping-method-development/类似,我已经在Magento 1中实现了。

1
Magento2:如何覆盖核心js模块price-box.js
我需要扩展Magento_Catalog/js/price-box.js。我已经使用了“ mixins”功能,但不适用于price-box.js。 requirejs-config.js: var config = { config: { mixins: { 'Magento_Catalog/js/price-box': { 'My_Module/js/price-box/pluggin': true } } } }; My_Module/view/frontend/web/js/price-box/pluggin.js define(function () { 'use strict'; return function (target) { // modify target var reloadPrice = target.reloadPrice; target.reloadPrice = function() { cosole.log("hello"); }; return target; }; });


3
Magento将CSS和JS添加到页脚
我正在对Magento网站进行Yslow优化,并尝试将CS​​S和Js添加到网站的页脚中。 目前,我正在布局XML中使用头参考标记,并使用addJs和addCss动作来包含我的所有文件。我尝试将页眉引用替换为页脚,但是在尝试查看站点时出现错误。有没有办法做到这一点,local.xml 或者必须将其硬编码到页脚模板文件本身中?
15 layout  javascript  css 

2
合并CSS或JS时,会为每种页面类型生成一个新文件
我们有很多小的CSS和JS文件,启用合并似乎是一个不错的选择。 每个页面(主页,类别页面,产品详细信息页面)上都会使用许多CSS和JS文件。 每当我们看到在每个页面上再次加载了不同的合并文件时,即使包含的CSS也必须重叠。 我们如何避免这种情况并重用更多数据?

1
Magento 2:如何在另一个phtml文件中显示自定义选项
我们如何在自定义选项中覆盖此位置,以在另一个phtml文件中显示它。 添加了此代码,checkout_cart_index.xml其中仅form.phtml覆盖不覆盖default.phtml文件。 <?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"> <!-- <update handle="checkout_cart_item_renderers"/> --> <body> <referenceContainer name="content"> <referenceBlock name="checkout.cart.form"> <action method="setTemplate"> <argument name="template" xsi:type="string">Bespoke_Bespoke::cart/form.phtml</argument> </action> </referenceBlock> <referenceBlock name="checkout.cart.item.renderers.override"> <action method="setTemplate"> <argument name="template" xsi:type="string">Bespoke_Bespoke::cart/item/default.phtml</argument> </action> </referenceBlock> </referenceContainer> </body> 我收到有关checkout.cart.item.renderers已经有一个别名为'simple'的孩子的错误,我已经修改了该文件checkout_cart_item_renderer.xml <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <!-- <update handle="checkout_item_price_renderers"/> --> <body> <referenceBlock name="checkout.cart.form"> <action method="setOverriddenTemplates"> <argument xsi:type="array"> <!-- …

3
Magento 2:同步后端和前端状态/缓存
Magento 2是否有任何系统或抽象来管理后端和前端上的本地存储之间的状态? 我正在尝试通过重定向URL移植用于恢复用户废弃的购物车的功能。以简化形式,URL类似 http://magento.example.com/restore/the/cart?identifier=sdkfjh48v237g5 会根据标识符中的编码quote_id将报价加载到当前用户的购物车中。 在Magento 1中,这相对简单-您只需要使用正确的报价ID更新用户的Checkout会话信息。但是,Magento 2加剧了本地存储的不足。 Magento 2前端javascript应用程序似乎在浏览器的本地存储数据库中缓存信息。这包括有关建造迷你车的信息。这意味着即使最终用户程序员(me)设法在后端更改会话Session ID,微型购物车仍会显示旧的购物车数据。 这只是一个问题的一个示例,该问题源于不了解(或拥有一个)用于管理后端和前端的应用程序状态的API。对于我的特定问题,我的端点渲染了一个包含一些JavaScript的HTML页面,手动清除了本地存储,然后将用户重定向到另一个页面-但这感觉像是一桩骇人的hack。 Magento 2中是否有API用于管理前端和后端之间的数据? 有一种向整个系统发出信号的标准方法,即在后端处理期间,您做了某些事情使得有必要使前端本地存储缓存无效? 有没有一种技术可以将新的RequireJS模块注入到自动运行的页面中,并且可以在其他JavaScript应用程序访问它之前操纵本地存储?

2
开始和结束日期验证
我一直在管理表单,我希望用户选择Start Date和End Date。 我必须提供验证,以确保End Date必须大于Start Date。 有人可以帮助我为上述场景中的开始日期和结束日期提供默认的Magento验证类吗? 如果无法使用默认的Magento验证进行,请发布自定义JS代码。 这也是我在日期范围内的表格 $dateFormatIso = Mage::app()->getLocale()->getDateFormat( Mage_Core_Model_Locale::FORMAT_TYPE_SHORT ); $fieldset->addField('start_date', 'date', array( 'label' => Mage::helper('myhelper')->__('Start Date'), 'name' => 'start_date', 'note' => $this->__('Start Date'), 'required' => true, 'image' => $this->getSkinUrl('images/grid-cal.gif'), 'format' => $dateFormatIso, 'class' => 'required-entry validate-date validate-date-range date-range-start_date-from' )); $fieldset->addField('end_date', 'date', array( 'label' => Mage::helper('myhelper')->__('End …

2
Magento 2:什么是`<each />`标签?
据我所知,当您在Magento的后端中查看网格时,以下“通过XHR加载”的KnockoutJS模板开始渲染事物 File: vendor/magento//module-ui/view/base/web/templates/collection.html URL: http://magento.example.xom/pub/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/collection.html &lt;each args="data: elems, as: 'element'"&gt; &lt;render if="hasTemplate()"/&gt; &lt;/each&gt; 但是,我对&lt;each/&gt;标签和&lt;render/&gt;标签的含义有些不知所措。它们不是(或似乎不是?)股票KnockoutJS的一部分。 我知道它可以自定义标签添加到KnockoutJS 通过组件,但我没有看到任何明显的地方,一个组件命名each或render添加到KnockoutJS。 因此,我不确定这些组件是否是我不知道的地方注册的组件,还是Magento对KnockoutJS进行的其他一些自定义,以启用自定义标签,或者完全是其他东西。 注意:我在这里并不完全是黑暗的-我得到&lt;each/&gt;的可能是遍历JSON中呈现的每个子ui组件,并呈现其模板(如果存在该模板)。 我完全不清楚这些标签是如何实现的。我想看看它们的实现位置,以便调试数据绑定方式,并了解Magento在创建其他标签时所使用的机制。

2
Magento 2:Javascript开发人员认证阅读材料
Magento刚刚宣布 了Magento2的JavaScript认证考试。 阅读此页后: https://u.magento.com/magento-2-certified-professional-javascript-developer 我对此JavaScript开发人员认证考试有疑问。 哪些学习材料对准备Java脚本认证考试有用? 此Java脚本认证考试的及格分数是多少? 该考试还有其他学习材料吗? 这次考试的重考政策是什么?

4
Magento 2在“ section-config.js”中存储切换器错误未捕获的TypeError:无法读取未定义(...)的属性'*'
我在自定义主题中实现了自定义商店切换器。 块模板如下: &lt;?php if (count($block-&gt;getStores())&gt;1): ?&gt; &lt;?php $id = $block-&gt;getIdModifier() ? '-' . $block-&gt;getIdModifier() : ''?&gt; &lt;span&gt;&lt;?php echo $block-&gt;escapeHtml($block-&gt;getStoreName()) ?&gt;&lt;/span&gt; &lt;span&gt;/&lt;/span&gt; &lt;?php foreach ($block-&gt;getStores() as $_lang): ?&gt; &lt;?php if ($_lang-&gt;getId() != $block-&gt;getCurrentStoreId()): ?&gt; &lt;span class="view-&lt;?php echo $block-&gt;escapeHtml($_lang-&gt;getCode()); ?&gt; switcher-option"&gt; &lt;a href="#" data-post='&lt;?php /* @escapeNotVerified */ echo $block-&gt;getTargetStorePostData($_lang); ?&gt;'&gt; &lt;?php echo …

1
如何在UI组件之间共享Knockout JS可观察对象
我了解如何使用imports: {}和exports: {}共享UI组件属性,例如: defaults: { exports: { shouldShowMessage: '${$.component}' } } 它在导出中返回组件名称。 但是,当我尝试导出可观察到的淘汰赛时,它始终是未定义的: defaults: { exports: { shouldShowMessage: '${$.shouldShowMessage}' } } ... setupKoBindings: function() { this.shouldShowMessage = ko.observable('Testing'); } 作为一种解决方法,我将按照此处的说明创建一个存储模型,但是我更喜欢使用导入和导出。


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.