微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Magento 2:向结帐字段添加“自动完成”属性

如何解决Magento 2:向结帐字段添加“自动完成”属性

我们在 Magento CE2.4.1 上运行我们的网站。目前,结帐字段具有以下属性

> list2DF(lapply(df,gsub,pattern = "^\\D+$",replacement = "1"))
  Anemone Bivalve Bryozoa
1       0       0       1
2       1       0       1
3       1       1       1
4       0       1       0
5       1       1       0
6       1       0       0
7       0       0       0
8       1       0       0
9       1       0       1

我想为每个字段添加 autocomplete 属性。像这样:

<input class="input-text" type="text" data-bind="
    value: value,valueUpdate: 'keyup',hasFocus: focused,attr: {
        name: inputName,placeholder: placeholder,'aria-describedby': getDescriptionId(),'aria-required': required,'aria-invalid': error() ? true : 'false',id: uid,disabled: disabled
    }" name="lastname" aria-required="true" aria-invalid="false" id="KR2W89N">

我检查了以下文件,看看是否有办法实现这一点:

<input class="input-text" type="text" autocomplete="name" data-bind="[...]" name="lastname" aria-required="true" aria-invalid="false" id="KR2W89N">

至于 form.html: 我无法找到一种方法获取特定的自动完成值作为每个字段的变量。

至于 CheckoutLayoutProcessor.PHP: 我在这个线程的帮助下创建了一个小模块:

How to auto fill the shipping address field in Checkout in Magento 2.2

我能够e。 G。更改每个字段的标签(作为测试)。但是,我找不到为每个结帐字段定义任何其他属性/选项的方法

我是否正在查看正确的文件?任何帮助我都会非常感激。

我不想自己自动填充字段。我只想添加属性,以便浏览器正确自动填充字段。目前,street.0的输入也将添加street.1

如果无法获得所需的解决方案:有没有办法只为 street.1 字段设置 autocomplete="off"

谢谢! 亚历克斯

解决方法

我现在选择了一个可能不优雅的解决方案。在 LayoutProcessor.php(请参阅初始帖子中的链接)中,我简单地定义了一个自定义模板:

'config' => [
                    'customScope' => 'shippingAddress','template' => 'ui/form/field','elementTmpl' => 'Vendor_Module/form/element/customtemplate'
                ],

在这个自定义模板中,我只是硬编码:

autocomplete="off"

这种方式显然也可以通过为每个字段创建单独的模板来为每个字段设置单独的值。不过,这似乎有点过分了。

以防万一这可能对其他人有帮助,我会暂时将此答案标记为已接受的答案。一旦有人提供更专业的方法,我将非常乐意将她/他的帖子更改为已接受的答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。