Wishlist filters allow you to mark items from the catalog to appear in a predefined "Wishlist" filter. The filter will be saved per customer, allowing each customer to create a dynamic list of items they wish to purchase or review at a later time. Items can easily be added and removed from the Wishlist filter.
Note: Wishlist filters are supported in the New Order Center only, using the NEW Filters only. If you have not moved to the new Order Center or the NEW Filters, please contact support so they can migrate you ( the old Favorites/Wishlists feature is no longer supported in the New Order Center).
The Wishlist filter is configured via a user defined table consisting of a list of items for each customer, where each item is flagged as true if it is to be saved in the customer's Wishlist or false if not. A custom checkbox field is then created to query the table, and get the most updated value. Items may be flagged within the catalog on the app via this checkbox field, and updates to the wishlist are then saved back to the user defined table so if the app is deleted or the user logs in on another device, the updated wishlists are synced.
To create a Wishlist filter per Account:
1. Load a user defined table (UDT) for the Wishlist
2. Create a custom checkbox field that queries the UDT to find out if each item is/isn't in the customer's Wishlist
3. Add the custom checkbox field to the Order Center Grid View
4. Create a Wishlist filter (NEW filters only) and indicate the filter criteria to be all items whose checkbox value=true.
1. Load a UDT for the Wishlist
Create a CSV file with the Account ID as the Primary key and Item ID as the Secondary key, and true/false or 0/1 as the value. The table must contain a row for each Item that you wish to make available for wishlist selection) for each account. So if you have 350 Accounts, and 650 items, and you want to make all the items available for selection for a wishlist, then the table will have 350 * 650 = 227,500 rows in total.
MapDataExternalID - a required field indicating the name you choose to give to the UDT
MainKey - the first lookup key, in this case the lookup of the AccountID will be done first.
SecondaryKey - the second lookup key, in this case the lookup of the ItemID will be done after the AccountID is found in the table.
Value - 0/1 of true/false - this value indicates if the item in the row is in the Account's wishlist or not.
|. . .||. . .||. . .||. . .|
Go to Settings -> Configuration files -> User Defined Tables
Click "Add" and enter the name and keys for the table.
API Name - the name of your table used in the first column of the CSV file.
Main Key - Select Account External ID, this is the first lookup value
Secondary Key - choose Any
Click Save, then click on the link to the table you created in the list:
Select Import from the menu:
You will be automatically brought to the import data file menu with the type "APIMapData" selected for you (this is the file type you need to load UDTs). Browse to the CSV file you created and click OK.
Take a look at the log above and make sure all lines loaded successfully. You can always export the log error lines if there were failed lines.
2. Create a custom checkbox field
Create a custom Transaction Line-Item field in the Transaction Type you wish to create the Wishlist filter in. The field will query the Wishlist UDT loaded above
In the Fields tab of the Transaction Type, add a Transaction Line-Item custom field:
User Defined Table Object - select the UDT name you loaded in step 1.
Main Key - select Transaction.AccountExternalID
Secondary Key - select Item.Code
Get data from column number - enter zero ("0"), because there is no delimiter, since there is only one value in the "Value" column.
Make sure to check "Save the updated value to the UDT", this ensures that items that are subsequently added/removed from the wishlist on the app are updated in the table.
3. Add the custom checkbox field to the Grid View layout of the order center
Add the checkbox field to the layout of the Order Center Grid View so that it can be checked and unchecked as needed for the wishlist.
In the same Transaction Type where you created the custom field, open the Order Center Views and edit the Grid Line View.
Position the custom Transaction line-item field in the layout:
Wishlist check box field in Order Center Grid View:
4. Create a Wishlist filter (NEW filters only) and indicate the filter criteria to be all items whose checkbox value=true
Wishlist filters must be created using the NEW filters only, since they require filtering by custom fields.
Go to Items -> Filters and add a new filter.
Filter by the custom field you created above to equal "true", so only items with the value true (or 1) in the UDT will be displayed in this filter.
You must add the filter to the catalog - even if you are using only 1 default catalog.
Go to Catalogs -> Edit the catalog you wish to include this filter in.
In the Filters tab, add the Wishlist filter to the layout: