如何更改WooCommerce添加到购物车按钮,特别是"继续购物车"内容在:: after?

时间:2018-01-23 13:44:48

标签: wordpress woocommerce

请原谅我有任何重复的问题或不正确地提问。我是WooCommerce的新手。我想在单击“添加到购物车”按钮后使用WooCommerce的脚本来提供反馈,但我必须更改此脚本的HTML输出。我不知道该怎么做。

我所说的按钮是https://melvinosengawebdesign.nl/product-categorie/bedrukken/flyers/a6/

上的添加到购物车按钮

单击按钮后,它会对按钮进行一些CSS更改,这很好,但它也会添加一个"继续进入购物车"链接在:: after。我想改变它,所以它被添加到例如跨度或段落,我也想改变文本。

1 个答案:

答案 0 :(得分:0)

点击按钮后,JavaScript会将“添加”类添加到按钮中,因此css中会出现一些规则:

INotifyDataErrorInfo

如果你需要删除它 - 只需添加到style.css

public class ViewModel : INotifyDataErrorInfo
{
    private readonly Dictionary<string, ICollection<string>>
       _validationErrors = new Dictionary<string, ICollection<string>>();
    private readonly Model _user = new Model();

    public string Username
    {
        get { return _user.Username; }
        set
        {
            _user.Username = value;
            ValidateModelProperty(value, "Username");
        }
    }

    public string Name
    {
        get { return _user.Name; }
        set
        {
            _user.Name = value;
            ValidateModelProperty(value, "Name");
        }
    }

    protected void ValidateModelProperty(object value, string propertyName)
    {
        if (_validationErrors.ContainsKey(propertyName))
            _validationErrors.Remove(propertyName);

        ICollection<ValidationResult> validationResults = new List<ValidationResult>();
        ValidationContext validationContext =
            new ValidationContext(_user, null, null) { MemberName = propertyName };
        if (!Validator.TryValidateProperty(value, validationContext, validationResults))
        {
            _validationErrors.Add(propertyName, new List<string>());
            foreach (ValidationResult validationResult in validationResults)
            {
                _validationErrors[propertyName].Add(validationResult.ErrorMessage);
            }
        }
        RaiseErrorsChanged(propertyName);
    }

    protected void ValidateModel()
    {
        _validationErrors.Clear();
        ICollection<ValidationResult> validationResults = new List<ValidationResult>();
        ValidationContext validationContext = new ValidationContext(_user, null, null);
        if (!Validator.TryValidateObject(_user, validationContext, validationResults, true))
        {
            foreach (ValidationResult validationResult in validationResults)
            {
                string property = validationResult.MemberNames.ElementAt(0);
                if (_validationErrors.ContainsKey(property))
                {
                    _validationErrors[property].Add(validationResult.ErrorMessage);
                }
                else
                {
                    _validationErrors.Add(property, new List<string> { validationResult.ErrorMessage });
                }
            }
        }

        /* Raise the ErrorsChanged for all properties explicitly */
        RaiseErrorsChanged("Username");
        RaiseErrorsChanged("Name");
    }

    public event EventHandler<DataErrorsChangedEventArgs> ErrorsChanged;
    private void RaiseErrorsChanged(string propertyName)
    {
        if (ErrorsChanged != null)
            ErrorsChanged(this, new DataErrorsChangedEventArgs(propertyName));
    }

    public System.Collections.IEnumerable GetErrors(string propertyName)
    {
        if (string.IsNullOrEmpty(propertyName)
            || !_validationErrors.ContainsKey(propertyName))
            return null;

        return _validationErrors[propertyName];
    }

    public bool HasErrors
    {
        get { return _validationErrors.Count > 0; }
    }
}

如果您需要在单击后向按钮添加一些HTML,请使用以下JS:

.woocommerce a.button.added::after {
  font-family: WooCommerce;
  content: '\e017';
  margin-left: .53em;
  vertical-align: bottom;
}