Questions tagged «knockoutjs»

表示与Magento2中的淘汰赛使用相关的问题

2
在Magento2中,什么是<script type =“ text / x-magento-init”>?
我是Magento2的新手,我们的组织刚刚获得了EE许可证。我已经将其安装在本地计算机上,并且默认模板吐出了与HMTL混合的以下内容: &lt;script type="text/x-magento-init"&gt; { "*": { "Magento_Ui/js/core/app": { "components": { "customer": { "component": "Magento_Customer/js/view/customer" } } } } } &lt;/script&gt; 像 &lt;script type="text/x-magento-init"&gt; { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } } &lt;/script&gt; 这与KnockoutJS或有关RequireJS吗?这些调用是什么,这个新的脚本标签是什么&lt;script type="text/x-magento-init"&gt;

2
Magento2翻译Javascript(KO)模板文本
我正在尝试为中&lt;!-- ko i18n: 'Store credit available' --&gt;&lt;!-- /ko --&gt;存在的文本添加翻译vendor/magento/module-customer-balance/view/frontend/web/template/payment/customer-balance.html,但是如果我尝试更改自己的文本i18n/en_US.csv,仍然无法正常工作。 我已经刷新了缓存并使用了静态内容部署。 是否有其他方法可以为KO模板添加翻译?

3
Magento 2:`getTemplate`敲除函数的绑定方式/位置在哪里?
许多Magento后端页面的源代码中都包含以下内容 &lt;!-- ko template: getTemplate() --&gt;&lt;!-- /ko --&gt; 我了解(或认为我知道吗?)这&lt;!-- ko template是一个KnockoutJS无容器模板绑定。 我不清楚的是- getTemplate()函数调用了什么上下文?在我在线上看到的示例中,通常在后面有一个javascript对象template:。我假设这getTemplate是一个返回对象的javascript函数-但没有名为的全局 javascript函数getTemplate。 getTemplate绑定在哪里?或者,可能是一个更好的问题,在Magento后端页面上的哪里发生了KnockoutJS应用程序绑定? 从纯HTML / CSS / JavaScript的角度来看,我对此很感兴趣。我知道Magento 2具有许多配置抽象,因此(理论上)开发人员无需担心实现细节。我对实施细节感兴趣。

1
Magento 2如何应用KnockoutJS绑定
根据对KnockoutJS文档的粗略阅读,初始化一个非常基本的Knockout视图如下所示 // This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI function AppViewModel() { this.firstName = "Bert"; this.lastName = "Bertington"; } // Activates knockout.js ko.applyBindings(new AppViewModel()); 即-您创建一个旨在用作对象构造函数的javascript函数,实例化该对象,然后将该对象传递到ko.applyBindings全局剔除对象(ko)的方法中 但是,在Magento 2中,如果您使用Grid UI加载后端页面,则Magento将初始化js/core/app.jsRequireJS模块 /** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for …

3
Magento 2从安装脚本添加自定义产品属性验证
[ 'type'=&gt;'int', '后端'=&gt;'', 'frontend'=&gt;'', '标签'=&gt;'XXXX', '输入'=&gt;'文本', 'frontend_class'=&gt;'验证大于零的值', '源'=&gt;'', 'global'=&gt; \ Magento \ Eav \ Model \ Entity \ Attribute \ ScopedAttributeInterface :: SCOPE_GLOBAL, 'visible'=&gt;是, 'required'=&gt;是, 'user_defined'=&gt;否, '默认'=&gt; 0, '可搜索'=&gt;否, '可过滤'=&gt; true, '可比较'=&gt;否, 'visible_on_front'=&gt;否, 'used_in_product_listing'=&gt;是, '唯一'=&gt;否 ] 我正在添加自定义产品属性,该属性可以正常运行,但无法添加validate-greater-than-zero验证。 如果我们查看其中的任何属性Input Validation for Store Owner,选择选项中的验证次数将有限。 validate-number,validate-digits,validate-email,validate-url,validate-alpha,validate-alphanum 这些是“产品属性”部分中应用的唯一验证。

3
UI组件文件中的“源”项目是什么
在Magento 2的UI表单组件配置文件中,您经常会item在下面看到与source- 相同的属性&lt;item name="source" xsi:type="string"&gt;block&lt;/item&gt;。 #File: vendor/magento/module-cms/view/adminhtml/ui_component/cms_block_form.xml &lt;field name="title"&gt; &lt;argument name="data" xsi:type="array"&gt; &lt;item name="config" xsi:type="array"&gt; &lt;item name="dataType" xsi:type="string"&gt;text&lt;/item&gt; &lt;item name="label" xsi:type="string" translate="true"&gt;Block Title&lt;/item&gt; &lt;item name="formElement" xsi:type="string"&gt;input&lt;/item&gt; &lt;item name="source" xsi:type="string"&gt;block&lt;/item&gt; &lt;item name="sortOrder" xsi:type="number"&gt;20&lt;/item&gt; &lt;item name="dataScope" xsi:type="string"&gt;title&lt;/item&gt; &lt;item name="validation" xsi:type="array"&gt; &lt;item name="required-entry" xsi:type="boolean"&gt;true&lt;/item&gt; &lt;/item&gt; &lt;/item&gt; &lt;/argument&gt; &lt;/field&gt; 这些字段是做什么用的?我问,因为似乎没有必要。例如,此GitHub存储库中的模块 配置了一个有效的UI组件表格,但未使用这些name="source"项目。 有人知道这些name="source"物品是干什么用的吗?我知道UI组件机制采用XML并将其配置为x-magento-initJSON "block_id": { …

1
Magento 2新的网格系统模板
我一直在Merchant beta 1.0.0版本上浏览新的Magento后端网格系统。 首先,我必须说我印象深刻。 现在,您可以选择要查看的列,可以对其进行重新排序,还可以根据不一定具有列的属性进行过滤。 但这并不重要。 我不了解网格的渲染方式。 通过启用模板路径提示,我看到例如产品网格是通过模板app/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtml和via块呈现的Magento\Ui\Component\Listing。 我编辑了模板,看到了一些我不理解的东西。 &lt;!-- ko template: getTemplate() --&gt;&lt;!-- /ko --&gt; 如果删除此行(并清除缓存,如果启用的话),我将不再有网格。 有人可以解释这ko是什么以及它如何工作吗? 我还在其他模板中找到了这种标记。 app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.html例如。 [更新] 我刚刚找到了一个简单的搜索(duh!),它ko指向以下内容:http : //knockoutjs.com/,但我仍然需要一些说明。

3
结帐页面刷新问题
首先,我想提供一些屏幕截图以了解我的问题。 现在,我想在此处添加相关代码。 等/ frontend / di.xml &lt;?xml version="1.0"?&gt; &lt;config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"&gt; &lt;type name="Magento\Checkout\Model\CompositeConfigProvider"&gt; &lt;arguments&gt; &lt;argument name="configProviders" xsi:type="array"&gt; &lt;item name="checkout_deliverysign_block" xsi:type="object"&gt;Kensium\DeliverySign\Model\DeliverySignConfigProvider&lt;/item&gt; &lt;/argument&gt; &lt;/arguments&gt; &lt;/type&gt; &lt;/config&gt; DeliverySignConfigProvider &lt;?php namespace Kensium\DeliverySign\Model; use Magento\Checkout\Model\ConfigProviderInterface; use Magento\Store\Model\ScopeInterface; class DeliverySignConfigProvider implements ConfigProviderInterface { /** * @var \Magento\Framework\App\Config\ScopeConfigInterface */ protected $scopeConfiguration; protected $checkoutSession; protected $logger; /** * …

4
将自定义产品属性添加到结帐摘要Magento 2
我正在尝试将自定义产品属性添加到Magento 2结帐中“摘要”部分的项目列表中。模板文件位于,Magento_Checkout/web/template/summary/item/details.html并希望在产品名称之前显示自定义属性的值。是否知道如何将此值添加到ko模板?貌似还有另外一个问题,这在这里,但从来没有回答。

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在创建其他标签时所使用的机制。

3
Magento 2:将下订单按钮从付款移动到结帐页面上的侧边栏?
我想将下订单按钮从付款移动到结帐页面的侧边栏中。 有人可以给我一个建议吗? 编辑:这甚至可能(提供答案/方法)吗? 根据我的研究,每种付款方式都有自己的.html模板,其中包括自己的按钮。该按钮不是从kickout.js模板加载的。例如,“免费”付款方式的一部分: &lt;div class="checkout-agreements-block"&gt; &lt;!-- ko foreach: $parent.getRegion('before-place-order') --&gt; &lt;!-- ko template: getTemplate() --&gt;&lt;!-- /ko --&gt; &lt;!--/ko--&gt; &lt;/div&gt; &lt;div class="actions-toolbar"&gt; &lt;div class="primary"&gt; &lt;button class="action primary checkout" type="submit" data-bind=" click: placeOrder, attr: {title: $t('Place Order')}, css: {disabled: !isPlaceOrderActionAllowed()} "&gt; &lt;span data-bind="i18n: 'Place Order'"&gt;&lt;/span&gt; &lt;/button&gt; &lt;/div&gt; &lt;/div&gt; 虽然“支票/汇票”付款方式如下所示(只有差异,enable: (getCode() == …

2
magento2基因敲除js自定义模板绑定
我正在尝试了解magento2中的基因敲除js,尤其是自定义模板绑定。我无法获得渲染此内容的想法流程。 有人能知道它是如何工作的吗?至少在哪里可以找到getTemplate的定义? &lt;!-- ko if: (!quoteIsVirtual) --&gt; &lt;!-- ko foreach: getRegion('customer-email') --&gt; &lt;!-- ko template: getTemplate() --&gt;&lt;!-- /ko --&gt; &lt;!--/ko--&gt; &lt;!--/ko--&gt;

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


2
如何在Magento 2中使用Knockout JS
我的问题: 我试图在Magento 2中编写一个小型的Knockout JS应用,但我正在努力初始化该应用,因为当我使用ko.applyBindings(AppViewModel, document.getElementById("koTest"));它破坏了Magento 使用的Knockout并引发此错误时: Uncaught Error: You cannot apply bindings multiple times to the same element. 我怀疑是因为: 我怀疑这是因为Magento的2已经在使用ko.applyBindings()中app/code/Magento/Ui/view/base/web/js/lib/knockout/bootstrap.js。而且由于未指定节点,因此无法ko.applyBindings再次使用。 如果我不在ko.applyBindings(AppViewModel, document.getElementById("koTest"))代码中使用,那么我的应用程序不会初始化。 这使我认为我需要以某种方式使用ko.applyBindings()基因敲除/bootstrap.js,但我不知道该如何使用,有人可以帮忙吗?我对淘汰赛的经验很少。 我的密码 &lt;script type="text/javascript"&gt; require([ 'ko' ], function(ko) { // This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI function AppViewModel() …

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.