Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. <mvt:comment>
  2. | ------------------------------------------------
  3. | Custom Variant Basket Item Replacement (VBIR)
  4. | ------------------------------------------------
  5. | This custom functionality replicates the VBIR module,
  6. | EXCEPT it allows line items to not have their variant code replaced based on a `disable_variant_basket_item_replacement` custom-field
  7. </mvt:comment>
  8. <mvt:foreach iterator="item" array="basket:items">
  9.  
  10.  
  11. <mvt:comment>
  12. | We only need to do this process for items with a single variant part
  13. </mvt:comment>
  14. <mvt:if expr="miva_array_elements( l.settings:item:parts ) NE 1 ">
  15. <mvt:foreachcontinue/>
  16. </mvt:if>
  17.  
  18. <mvt:item name="customfields" param="Read_Product_ID(l.settings:item:product:id, 'disable_variant_basket_item_replacement', l.settings:item:cf:disable_variant_basket_item_replacement)" />
  19. <mvt:if expr="l.settings:item:cf:disable_variant_basket_item_replacement">
  20. <mvt:foreachcontinue/>
  21. </mvt:if>
  22.  
  23. <mvt:comment>
  24. | Use designated product for variant replacement,
  25. | or use concatenated product codes
  26. </mvt:comment>
  27. <mvt:assign name="l.settings:item:cf:update_code" value="l.settings:item:parts[1]:code" />
  28.  
  29.  
  30. <mvt:comment>
  31. | Update the DB with our custom variant code logic
  32. </mvt:comment>
  33. <mvt:if expr="l.settings:item:cf:update_code NE l.settings:item:code">
  34. <mvt:assign name="l.settings:query:query" value="'UPDATE ' $ g.Store_Table_Prefix $ 'BasketItems SET code = ? WHERE line_id = ?'" />
  35. <mvt:assign name="l.settings:query:bind_parameters[1]" value="l.settings:item:cf:update_code" />
  36. <mvt:assign name="l.settings:query:bind_parameters[2]" value="l.settings:item:line_id" />
  37. <mvt:item name="sql" param="l.settings:query"/>
  38.  
  39. <mvt:comment>
  40. | Update the current page's `l.settings:basket:items[]:code` and `l.settings:basket:groups[]:code` values for the current element
  41. </mvt:comment>
  42. <mvt:assign name="l.settings:item:code" value="l.settings:item:cf:update_code" />
  43. <mvt:assign name="l.result" value="miva_array_search( l.settings:basket:groups, POS1, l.group, 'l.settings:item:code EQ l.group:code' )" />
  44. <mvt:assign name="l.group:code" value="l.settings:item:cf:update_code" />
  45. </mvt:if>
  46.  
  47. </mvt:foreach>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement