For themes that have trouble launching the wizard, first confirm if there are any errors in console from the wizard then try copying the aswmToken from the url query string and run this function in console:
aswRunWizard(TOKEN);
The Setup Wizard handles each page which are independent of each other when running, this means each page has it's own HTML, CSS(where necessary) and JavaScript bundle that overrides whatever was happening before as you switch to another page.
While running the Wizard the configuration is stored in your browser. This area is called LocalStorage. The config data is found in an item known as _aswm_s_config and can be found by opening the Dev Console > Application > Local Storage > Click the name of current website you're on > Search/Look for _aswm_s_config in the list:
The structure of this item is of JSON, example:
{ item_1_name : item_1_value, item_2_name : item_2_value }
However, the Wizard breaks down the configuration data to be per page, for example:
{ 0 : { page_0_item_name : page_0_item_value, }, 1 : { page_1_item_name : page_1_item_value, } }
If you notice you see the 0: and the 1: .... these are the index/order of the specific page from the whole list. The very first page of the Wizard occupies slot 0, the second page occupies slot 1 and so on...
Before we jump into the next article which tell us how to manually manipulate the relevant settings for the Wizard, let's look at the meaning of the ones we would mostly need to modify:
[!] Config Names marked as bold are set manually on a per-case basis
[!] Previously we used the 'Index' to update configuration, we'll now use the Index Name, otherwise called Screen Name
Index/Screen Name | Config Name | Purpose |
aswm_setup_options | selector | The CSS selector for the element to insert the options above within the product form. |
aswm_capture_cart_form_layout | _aswm_cart_line_item_layout_sel | The CSS selector for the root element for a line item in the cart page. This element is the first element to hold the content for each product in the cart. |
aswm_capture_cart_form_layout | _aswm_cart_line_item_quantity_sel | The CSS selector for the input element holding the quantity for a line item in the cart. |
aswm_capture_cart_form_layout | _aswm_cart_count_selector | The CSS selector for the Cart Count element for the page. |
aswm_capture_cart_form_layout | _aswm_cart_line_item_unit_price_selector | The CSS selector for the element holding the Unit Price for a line item in the cart. |
aswm_capture_cart_form_layout | _aswm_cart_line_item_total_price_selector | The CSS selector for the element holding the Total Price for a line item in the cart. This is not the subtotal element. |
aswm_capture_cart_form_layout | _aswm_cart_subtotal_sel | The CSS selector for the element containing the subtotal |
aswm_setup_mpu | _aswm_mpu_selector | The CSS selector for the element which the product price should be automatically recalculated to add the customizations total to it. Also referred to as Main Product Price Update |
aswm_index | _ic_name | Some stores change the name of IC/Item Customizations product, by adding this setting the Wizard with the new name it will dynamically use this instead to operate. |
Note that when specifying any selector for Index 6 (which is Page 7 in the Wizard) a certain level of specificity is needed based on analysis of multiple themes to ensure the selectors work as expected:
Specificity | Config Name |
|
0 | selector | |
0 | _aswm_cart_line_item_layout_sel | |
0 | _aswm_cart_line_item_quantity_sel | |
2 | _aswm_mpu_selector | |
3 | _aswm_cart_count_selector | |
3 | _aswm_cart_line_item_unit_price_selector | |
3 | _aswm_cart_line_item_total_price_selector | |
3 | _aswm_cart_subtotal_sel |
Specificity level of 0 means only the direct element should be considered in the selector, for level 1 and up it means the parent element(s) should also be built into the selector but the final parent which is the line item element should not be included, example:
With CSS knowledge, building this selector should not take more than 1 minute so it's very quick!
Next, we talk about how to view and update the configuration manually