Magento 2 Product Sync Special Functions

Below you will find a reference of the special functions available for our latest release of the Acctivate/Magento 2 product sync.

Please reach out if you have problems implementing this, as your version may vary.

Magento 2 Special Functions for Product Sync

  • @new_only
    • Only updates this field if it is for a new product (ie product we are inserting into Magento)
  • @setDefaultWeight(‘weight’)
    • Sets the weight to this value if there is no weight (this is important because normally weight is a required value in Magento.
  • @skip_if_blank
    • If the value for this field in Acctivate is empty, skip updating it.
  • @add_days(number_of_day)
    • Takes a date in an Acctivate field and formats it in the Magento required format
  • @date(‘mm/dd/yyyy’)
    • Takes a date in Acctivate and formats it in the format passed as a parameter. NOTE: valid formats are according to the PHP date_format function. Ask for help or check this reference doc:
  • @withlinebreaks
    • Indicates the field is a text area in Acctivate and we need to replace them with html line breaks
  • @split(“,”,1)
    • Splits a field into values using the first parameter (ie the delimiter) and updates Magento with the nth value as passed in the second parameter. NOTE: Parameters begin with 0. So to return banana from “apple,banana,orange” the function should be @split(“,”,1)
  • @multi_select(“_orgitem:Organic”,”_hanging:Hangable”,”_SPCLORDER:Special Order”)
    • To set multiple True/False Acctivate fields into values to a muti Select Magento attribute. Each parameter indicates the Acctivate field name, followed by a colon (:), followed by the admin label of the MultiSelect option to select. For example, the special function listed here would ‘select’ the Organic option of my mapped attribute if the field _orgitem is true (or checked or value 1), Hangable option if the field _hanging is true, and Special Order option if the field _SPCLORDER is true
  • @pounds2ounces
    • Divides the value by 16 (the function name here is misleading)
  • @replace(‘find’,’replace’)
    • Finds and replaces a value in the Acctivate data with a different value. For example, if I want to replace all slashes / with an underscore _ I would use @replace(“/”,”_”)
  • @set_category(“parent”,”delimiter”,”is_full_path”,”create”,”root”,”cat_name_prefix”)
    • Add the product to a category based on the value of this field in Acctivate.
    • Parameters:
      • parent: the parent category
      • delimiter: the character that will separate multiple categories in the field
      • is_full_path: indicates if the sync should match the entire category path or only the actual ‘child’ category name (you can also pass the parent categories in ‘parent’ if matching full path)
      • create: indicates if we should create the category under the parent category if not already there (be very careful with this!)
      • root: is the root category name for your structure (ie default)
        cat_name_prefix: text to add to the Acctivate value to ‘build’ the category name