Last active
January 10, 2019 01:29
-
-
Save steveosoule/6941e70d57ef7725f202e48cc7ece8c6 to your computer and use it in GitHub Desktop.
Product & Category URI Cascades
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mvt:comment> | |
Categories | |
</mvt:comment> | |
<mvt:do file="g.Module_Library_DB" name="l.success" value="CategoryList_Load_All( l.settings:categories )" /> | |
<mvt:foreach iterator="category" array="categories"> | |
<mvt:do file="g.Module_Root $ '/modules/component/cmp-mv-prodctgy-meta.mvc'" name="l.settings:category:cascade_count" value="CategoryCascadeList_Load_Category( l.settings:category, l.settings:category:cascade )" /> | |
<mvt:if expr="l.settings:category:cascade_count EQ 1"> | |
<mvt:foreachcontinue/> | |
</mvt:if> | |
<uri_add category_code="&mvte:category:code;" status="200" uri="/&mvte:category:code;.html" /> | |
<mvt:foreach iterator="cascade_item" array="category:cascade"> | |
<mvt:assign name="l.settings:category:uri" value="l.settings:category:uri $ '/' $ l.settings:cascade_item:code" /> | |
<mvt:if expr="l.pos2 EQ 1 OR l.pos2 EQ l.settings:category:cascade_count"> | |
<mvt:foreachcontinue /> | |
</mvt:if> | |
<uri_add category_code="&mvte:category:code;" status="200" uri="&mvte:category:uri;.html"/> | |
</mvt:foreach> | |
<uri_add category_code="&mvte:category:code;" canonical="Yes" uri="&mvte:category:uri;.html" /> | |
</mvt:foreach> | |
<mvt:comment> | |
Products | |
</mvt:comment> | |
<mvt:do file="g.Module_Library_DB" name="l.success" value="ProductList_Load_All( l.settings:products )" /> | |
<mvt:foreach iterator="product" array="products"> | |
<mvt:do name="l.result" file="g.Module_Library_DB" value="CategoryList_Load_Offset_Product_Assigned(l.settings:product:id, 0, '', '', 0, l.null, l.settings:product:categories )" /> | |
<mvt:foreach iterator="category" array="product:categories"> | |
<mvt:do file="g.Module_Root $ '/modules/component/cmp-mv-prodctgy-meta.mvc'" name="l.success" value="CategoryCascadeList_Load_Category( l.settings:category, l.settings:category:cascade )" /> | |
<mvt:foreach iterator="cascade_item" array="category:cascade"> | |
<mvt:assign name="l.settings:category:cascade_uri" value="l.settings:category:cascade_uri $ '/' $ l.settings:cascade_item:code" /> | |
<uri_add product_code="&mvte:product:code;" status="200" uri="&mvte:category:cascade_uri;/&mvte:product:code;.html" /> | |
</mvt:foreach> | |
<mvt:if expr="l.settings:product:concat_id EQ l.settings:category:id OR (ISNULL l.settings:product:concat_id AND l.pos2 EQ 1)"> | |
<uri_delete uri="&mvte:category:cascade_uri;/&mvte:product:code;.html" /> | |
<uri_add product_code="&mvte:product:code;" canonical="Yes" uri="&mvte:category:cascade_uri;/&mvte:product:code;.html" /> | |
</mvt:if> | |
</mvt:foreach> | |
</mvt:foreach> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mvt:do file="g.Module_Root $ '/modules/component/cmp-mv-prodctgy-meta.mvc'" name="l.success" value="CategoryCascadeList_Load_Category( l.settings:category, l.settings:category:cascade )" /> | |
<mvt:foreach iterator="cascade_item" array="category:cascade"> | |
<mvt:assign name="l.settings:category:uri" value="l.settings:category:uri $ '/' $ l.settings:cascade_item:code" /> | |
</mvt:foreach> | |
&mvt:category:uri;.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mvt:do file="g.Module_Root $ '/modules/component/cmp-mv-prodctgy-meta.mvc'" name="l.success" value="CategoryCascadeList_Load_Category( l.settings:category, l.settings:category:cascade )" /><mvt:foreach iterator="cascade_item" array="category:cascade"><mvt:assign name="l.settings:category:uri" value="l.settings:category:uri $ '/' $ l.settings:cascade_item:code" /></mvt:foreach>&mvt:category:uri;.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mvt:if expr="l.settings:product:concat_id"> | |
<mvt:do file="g.Module_Library_DB" name="l.success" value="Runtime_Category_Load_ID( l.settings:product:concat_id, l.settings:product:category )" /> | |
</mvt:if> | |
<mvt:if expr="ISNULL l.settings:product:category:id"> | |
<mvt:do file="g.Module_Library_DB" name="l.success" value="CategoryList_Load_Offset_Product_Assigned( l.settings:product:id, 0, '', '', 1, g.NextOffset, l.settings:product:categories )" /> | |
<mvt:if expr="miva_array_elements( l.settings:product:categories )"> | |
<mvt:assign name="l.settings:product:category" value="l.settings:product:categories[1]" /> | |
</mvt:if> | |
</mvt:if> | |
<mvt:if expr="l.settings:product:category:id"> | |
<mvt:do file="g.Module_Root $ '/modules/component/cmp-mv-prodctgy-meta.mvc'" name="l.success" value="CategoryCascadeList_Load_Category( l.settings:product:category, l.settings:product:category:cascade )" /> | |
<mvt:foreach iterator="cascade_item" array="product:category:cascade"> | |
<mvt:assign name="l.settings:product:uri" value="l.settings:product:uri $ '/' $ l.settings:cascade_item:code" /> | |
</mvt:foreach> | |
&mvte:product:uri;/&mvte:product:code;.html | |
<mvt:else> | |
/&mvte:product:code;.html | |
</mvt:if> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mvt:if expr="l.settings:product:concat_id"><mvt:do file="g.Module_Library_DB" name="l.success" value="Runtime_Category_Load_ID( l.settings:product:concat_id, l.settings:product:category )" /></mvt:if><mvt:if expr="ISNULL l.settings:product:category:id"><mvt:do file="g.Module_Library_DB" name="l.success" value="CategoryList_Load_Offset_Product_Assigned( l.settings:product:id, 0, '', '', 1, g.NextOffset, l.settings:product:categories )" /><mvt:if expr="miva_array_elements( l.settings:product:categories )"><mvt:assign name="l.settings:product:category" value="l.settings:product:categories[1]" /></mvt:if></mvt:if><mvt:if expr="l.settings:product:category:id"><mvt:do file="g.Module_Root $ '/modules/component/cmp-mv-prodctgy-meta.mvc'" name="l.success" value="CategoryCascadeList_Load_Category( l.settings:product:category, l.settings:product:category:cascade )" /><mvt:foreach iterator="cascade_item" array="product:category:cascade"><mvt:assign name="l.settings:product:uri" value="l.settings:product:uri $ '/' $ l.settings:cascade_item:code" /></mvt:foreach>&mvte:product:uri;/&mvte:product:code;.html<mvt:else>/&mvte:product:code;.html</mvt:if> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment