【问题标题】:Shopify / Liquid - rename the error "Required parameter missing or invalid"Shopify / Liquid - 重命名错误“必需参数丢失或无效”
【发布时间】:2020-05-05 08:23:49
【问题描述】:

在我的 shopify 网站(Debut 主题)上,当用户在未选择尺寸的情况下单击添加到购物车按钮时,会显示以下消息:“必需参数丢失或无效:项目”。

我想将此消息改写为更友好的内容,例如“请选择尺码”。

我将如何实现这一目标?我假设它是一个流动性问题,但不确定是否也可能与 javascript 相关。谢谢。

【问题讨论】:

  • 为什么没有选择size?默认情况下应该选择它。
  • 我把它改成了尺寸按钮,所以你必须先点击一个尺寸。它没有使用默认下拉菜单。谢谢
  • 只需将第一个尺寸(或任何其他)按钮默认设置为“选中”,即模仿每个人所期望的标准行为。
  • 我不想走这条路,因为每次用户进入一个页面时,它都会突出显示(例如)小按钮,这可能会很烦人。错误消息会比这更好(大多数人无论如何都不应该看到它)。我只是想知道如何更改出现此错误消息时显示的字符串。谢谢

标签: javascript shopify liquid


【解决方案1】:

打开assets/theme.js 并搜索response.responseJSON.description。它应该使用_addItemToCart 方法。添加以下.replace("Required parameter missing or invalid: items", "Please pick a size")。因此,在此更改之后,整个方法应如下所示:

_addItemToCart: function(data) {
  var params = {
    url: '/cart/add.js',
    data: $(data).serialize(),
    dataType: 'json'
  };

  $.post(params)
    .done(
      function(item) {
        this._hideErrorMessage();
        this._setupCartPopup(item);
      }.bind(this)
    )
    .fail(
      function(response) {
        this.$previouslyFocusedElement.focus();
        var errorMessage = response.responseJSON
          ? response.responseJSON.description.replace("Required parameter missing or invalid: items", "Please pick a size")
          : theme.strings.cartError;
        this._showErrorMessage(errorMessage);
        this._handleButtonLoadingState(false);
      }.bind(this)
    );
},

【讨论】:

  • 完美运行,非常感谢。
猜你喜欢
  • 1970-01-01
  • 2021-11-03
  • 2021-10-07
  • 1970-01-01
  • 2016-02-19
  • 2014-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多