Dear Matt,
Thanks, I found the extra redundant code (included in the bottom) . Now I have my subcats in order. Thanks a lot!
I had some problems to find RECALL function, but now I discovered how it works... Great!
ERasing this lines in Content (subcategory listing) did the trick!
<mvt:assign name="l.settings:subcat_count" value="miva_array_elements(l.settings:subcats)" />
<mvt:if expr="l.settings:subcats GT 0">
<div class="row bg-white bottom-shadow main-content-row sub-category-layout">
<mvt:foreach iterator="sub_category" array="subcats">
<mvt:if expr="l.settings:sub_category:image">
<div class="column half medium-one-third sub-category uppercase">
<a href="&mvt:sub_category:link;" title="&mvt:sub_category:name;">
<img src="&mvt:sub_category:image;" alt="&mvt:sub_category:name;" title="&mvt:sub_category:name;" />
&mvt:sub_category:name;
</a>
</div>
<mvt:else>
<div class="column half medium-one-third sub-category uppercase">
<a href="&mvt:sub_category:link;" title="&mvt:sub_category:name;" class="bold">&mvt:sub_category:name;</a>
</div>
</mvt:if>
</mvt:foreach>
</div>
<!-- end sub-category listings -->
</mvt:if>
Cheers André aka Protos
Iron and Wool child categories MIVA 10.1
Collapse
X
-
Thanks for the hint, I will check it out tomorrow. Strange that it did not show before. I have same code in Prod 9.14 and Dev 10.
All in all I like the upgrade and I am gladly suprised that everythinng works like 99%. My own payment module works and and all my Swedish specials are just fine...
I was a bit frightened first when I made the big update and all my scripts and navigation dissapeared. It was not obious for me that I hade to run a patch at once.
Very well done indeed.
Cheers from lockdown free Sweden :-)
Leave a comment:
-
Hi André,
Based on what you posted, you have the subcategory loop twice. Is this code in the header as well as the content section?
Leave a comment:
-
Hi, can you check my subcategory listing - I am getting subcategories first. Thn HR and subcategories twice
<mvt:foreach array="cattree_categories" iterator="cattree_category">
<mvt:if expr="l.settings:cattree_category:parent_id EQ l.settings:category:id">
<mvt:assign name="l.null" value="miva_array_insert(l.settings:subcats, l.settings:cattree_category, -1)" />
</mvt:if>
</mvt:foreach>
<mvt:assign name="l.settings:subcat_count" value="miva_array_elements(l.settings:subcats)" />
<mvt:if expr="l.settings:subcats GT 0">
<div class="row bg-white bottom-shadow main-content-row sub-category-layout">
<mvt:foreach iterator="sub_category" array="subcats">
<mvt:if expr="l.settings:sub_category:image">
<div class="column half medium-one-third sub-category uppercase">
<a href="&mvt:sub_category:link;" title="&mvt:sub_category:name;">
<img src="&mvt:sub_category:image;" alt="&mvt:sub_category:name;" title="&mvt:sub_category:name;" />
&mvt:sub_category:name;
</a>
</div>
<mvt:else>
<div class="column half medium-one-third sub-category uppercase">
<a href="&mvt:sub_category:link;" title="&mvt:sub_category:name;" class="bold">&mvt:sub_category:name;</a>
</div>
</mvt:if>
</mvt:foreach>
</div>
<!-- end sub-category listings -->
</mvt:if><mvt:foreach array="cattree_categories" iterator="cattree_category">
<mvt:if expr="l.settings:cattree_category:parent_id EQ l.settings:category:id">
<mvt:assign name="l.null" value="miva_array_insert(l.settings:subcats, l.settings:cattree_category, -1)" />
</mvt:if>
</mvt:foreach>
<mvt:assign name="l.settings:subcat_count" value="miva_array_elements(l.settings:subcats)" />
<mvt:if expr="l.settings:subcats GT 0">
<div class="row bg-white bottom-shadow main-content-row sub-category-layout">
<mvt:foreach iterator="sub_category" array="subcats">
<mvt:if expr="l.settings:sub_category:image">
<div class="column half medium-one-third sub-category uppercase">
<a href="&mvt:sub_category:link;" title="&mvt:sub_category:name;">
<img src="&mvt:sub_category:image;" alt="&mvt:sub_category:name;" title="&mvt:sub_category:name;" />
&mvt:sub_category:name;
</a>
</div>
<mvt:else>
<div class="column half medium-one-third sub-category uppercase">
<a href="&mvt:sub_category:link;" title="&mvt:sub_category:name;" class="bold">&mvt:sub_category:name;</a>
</div>
</mvt:if>
</mvt:foreach>
</div>
<!-- end sub-category listings -->
</mvt:if>
Best wishes from Stockholm. Sweden. No lock out, smooth Corona spreading, flock immunitY and social distancing. :-)
André aka Protos
Leave a comment:
-
I would check for any duplicate code in either <mvt:item name="prod_ctgy_hdft" param="ctgy_header" /> or <mvt:item name="subcategory_listing" />
Leave a comment:
-
Hi and thanks for looking into my issue. Standard template.
<mvt:item name="body">
<mvt:item name="hdft" param="global_header" />
<div class="row hdft-header">
<mvt:item name="hdft" param="header" />
</div>
<div class="row prod-ctgy-hdft-header">
<mvt:item name="prod_ctgy_hdft" param="ctgy_header" />
</div>
<mvt:item name="subcategory_listing" />
<mvt:if expr="l.settings:category_product_count GT 0">
<mvt:item name="category_listing" />
</mvt:if>
<div class="row prod-ctgy-hdft-footer">
<mvt:item name="prod_ctgy_hdft" param="ctgy_footer" />
</div>
<div class="row hdft-footer">
<mvt:item name="hdft" param="footer" />
</div>
<mvt:item name="hdft" param="global_footer" />
</mvt:item>
And category details:
<div class="row bg-white bottom-shadow filter-items-container">
<div class="column whole medium-half large-one-third sorting">
<mvt:if expr="l.settings:category_listing:products_on_page _count GT 1">
<form method="get" action="&mvte:global:sessionurl;" class="inline-labeling nm">
<input type="hidden" name="Screen" value="&mvte:global:Screen;" />
<input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;" />
<input type="hidden" name="Category_Code" value="&mvte:global:Category_Code;" />
<input type="hidden" name="Product_Code" value="&mvte:global:Product_Code;" />
<input type="hidden" name="Search" value="&mvte:global:Search;" />
<input type="hidden" name="Per_Page" value="&mvte:global:Per_Page;" />
<label for="l-sort-by" class="medium uppercase">Sortera</label>
<select name="Sort_By" id="l-sort-by" class="input-medium" onchange="this.form.submit();">
<mvt:if expr="ISNULL g.Sort_By">
<option value="disp_order" selected="selected">Sortera By…</option>
<mvt:else>
<option value="disp_order">Sortera By…</option>
</mvt:if>
<mvt:if expr="g.Sort_By EQ 'newest'">
<option value="newest" selected="selected">Nyaste</option>
<mvt:else>
<option value="newest">Nyaste</option>
</mvt:if>
<mvt:if expr="g.Sort_By EQ 'bestsellers'">
<option value="bestsellers" selected="selected">Populärt</option>
<mvt:else>
<option value="bestsellers">Populärt</option>
</mvt:if>
<mvt:if expr="g.Sort_By EQ 'price_asc'">
<option value="price_asc" selected="selected">Lägsta Pris</option>
<mvt:else>
<option value="price_asc">Lägsta Pris</option>
</mvt:if>
<mvt:if expr="g.Sort_By EQ 'price_desc'">
<option value="price_desc" selected="selected">Högsta Pris</option>
<mvt:else>
<option value="price_desc">Högsta Pris</option>
</mvt:if>
<mvt:if expr="g.Sort_By EQ 'name_asc'">
<option value="name_asc" selected="selected">Fallande</option>
<mvt:else>
<option value="name_asc">Fallande</option>
</mvt:if>
<mvt:if expr="g.Sort_By EQ 'name_desc'">
<option value="name_desc" selected="selected">Stigande</option>
<mvt:else>
<option value="name_desc">Stigande</option>
</mvt:if>
</select>
<noscript><input type="submit" value="go" title="go" /></noscript>
</form>
<!-- end sorting -->
</mvt:if>
</div>
<nav class="column whole medium-half large-three-twelfths medium-align-right large-align-left per-page">
<mvt:if expr="l.settings:category_listing:products_on_page _count GT 1">
<ul>
<li class="medium uppercase">Visa</li>
<mvt:if expr="g.Per_Page EQ 12">
<li><a href="&mvte:global:sessionurl;Screen=&mvte:global: Screen;&Store_Code=&mvte:global:Store_Code;&Catego ry_Code=&mvte:global:Category_Code;&Product_Code=& mvte:global:Product_Code;&Search=&mvte:global:Sear ch;&Sort_By=&mvte:global:Sort_By;&Per_Page=12" data-selected="selected">12</a> /</li>
<mvt:else>
<li><a href="&mvte:global:sessionurl;Screen=&mvte:global: Screen;&Store_Code=&mvte:global:Store_Code;&Catego ry_Code=&mvte:global:Category_Code;&Product_Code=& mvte:global:Product_Code;&Search=&mvte:global:Sear ch;&Sort_By=&mvte:global:Sort_By;&Per_Page=12">12</a> /</li>
</mvt:if>
<mvt:if expr="g.Per_Page EQ 24">
<li><a href="&mvte:global:sessionurl;Screen=&mvte:global: Screen;&Store_Code=&mvte:global:Store_Code;&Catego ry_Code=&mvte:global:Category_Code;&Product_Code=& mvte:global:Product_Code;&Search=&mvte:global:Sear ch;&Sort_By=&mvte:global:Sort_By;&Per_Page=24" data-selected="selected">24</a> /</li>
<mvt:else>
<li><a href="&mvte:global:sessionurl;Screen=&mvte:global: Screen;&Store_Code=&mvte:global:Store_Code;&Catego ry_Code=&mvte:global:Category_Code;&Product_Code=& mvte:global:Product_Code;&Search=&mvte:global:Sear ch;&Sort_By=&mvte:global:Sort_By;&Per_Page=24">24</a> /</li>
</mvt:if>
<mvt:if expr="g.Per_Page EQ -1">
<li><a href="&mvte:global:sessionurl;Screen=&mvte:global: Screen;&Store_Code=&mvte:global:Store_Code;&Catego ry_Code=&mvte:global:Category_Code;&Product_Code=& mvte:global:Product_Code;&Search=&mvte:global:Sear ch;&Sort_By=&mvte:global:Sort_By;&Per_Page=-1" data-selected="selected">Alla</a></li>
<mvt:else>
<li><a href="&mvte:global:sessionurl;Screen=&mvte:global: Screen;&Store_Code=&mvte:global:Store_Code;&Catego ry_Code=&mvte:global:Category_Code;&Product_Code=& mvte:global:Product_Code;&Search=&mvte:global:Sear ch;&Sort_By=&mvte:global:Sort_By;&Per_Page=-1">Alla</a></li>
</mvt:if>
</ul>
<!-- end per-page -->
</mvt:if>
</nav>
<div class="column hide large-show large-five-twelfths align-right page-links">
<mvt:if expr="l.settings:category_listing:page_links:last_ page GT 1">
<span class="page-links-container">
<mvt:if expr="l.settings:category_listing:page_links:curre nt_page NE 1">
<a href="&mvte:category_listing:page_links:prev_link; " class="page-links-previous rt-icon-arrow-left"></a>
<mvt:else>
<span class="page-links-previous page-links-deactivated rt-icon-arrow-left"></span>
</mvt:if>
<mvt:if expr="NOT l.settings:category_listing:page_links:contains_fi rst">
<a href="&mvte:category_listing:page_links:first_link ;" class="page-links-inactive">1 …</a>
</mvt:if>
<mvt:foreach iterator="pages" array="category_listing:page_links:pages">
<mvt:if expr="l.settings:category_listing:page_links:curre nt_page EQ l.settings:pages:page_num">
<span class="page-links-active">&mvte:pages:page_num;</span>
<mvt:else>
<a href="&mvte:pages:link;" class="page-links-inactive">&mvte:pages:page_num;</a>
</mvt:if>
</mvt:foreach>
<mvt:if expr="NOT l.settings:category_listing:page_links:contains_la st">
<a href="&mvte:category_listing:page_links:last_link; " class="page-links-inactive">… &mvte:category_listing:page_links:last_page;</a>
</mvt:if>
<mvt:if expr="l.settings:category_listing:page_links:curre nt_page NE l.settings:category_listing:page_links:last_page">
<a href="&mvte:category_listing:page_links:next_link; " class="page-links-next rt-icon-arrow-right"></a>
<mvt:else>
<span class="page-links-next page-links-deactivated rt-icon-arrow-right"></span>
</mvt:if>
</span>
<!-- end page-links -->
</mvt:if>
</div>
</div>
<!-- end filter-items-container -->
<div id="js-product-list" class="row bg-white bottom-shadow category-product-layout">
<mvt:foreach iterator="product" array="category_listing:products">
<mvt:if expr="l.settings:product:customfield_values:custom fields:product_flag NE 'none'">
<mvt:assign name="l.settings:product:flag" value="'flag--' $ tolower(l.settings:product:customfield_values:cust omfields:product_flag)" />
</mvt:if>
<div class="column half medium-one-fourth category-product">
<a href="&mvte:product:link;" title="&mvte:product:name;">
<span class="flag &mvt:product:flag;">
<mvt:if expr="NOT ISNULL l.settings:product:imagetypes:main">
<img src="&mvte:product:imagetypes:main;" alt="&mvte:product:name;" title="&mvte:product:name;" />
<mvt:elseif expr="NOT ISNULL l.settings:product:thumbnail">
<img src="&mvt:product:thumbnail;" alt="&mvte:product:name;" title="&mvte:product:name;" />
<mvt:elseif expr="NOT ISNULL l.settings:product:main">
<img src="&mvt:product:main;" alt="&mvte:product:name;" title="&mvte:product:name;" />
<mvt:else>
<img src="../images/img_no_thumb.jpg" alt="&mvte:product:name;" title="&mvte:product:name;" />
</mvt:if>
<span class="button button-square bg-yellow white uppercase quick-view" data-product-link="&mvte:product:link;?show=quickview">Förhand s granska</span>
</span>
<span class="breaker"></span>
<div class="item-details">
<div class="product-name-wrapper">
<p>&mvte:product:name;</p>
</div>
<p class="product-price">
<mvt:if expr="l.settings:product:base_price GT l.settings:product:price">
<strong class="strike">&mvt:product:formatted_base_price;</strong><strong class="red">&mvt:product:formatted_price;</strong>
<mvt:else>
<strong>&mvt:product:formatted_price;</strong>
</mvt:if>
</p>
<p class="CTGY-inventory-msg">
&mvt:product:inv_short;
</p>
</div>
</a>
</div>
</mvt:foreach>
</div>
<!-- end category-product listings -->
<mvt:if expr="l.settings:category_listing:page_links:last_ page GT 1">
<div class="row bg-white bottom-shadow filter-items-container bottom-pagination">
<mvt:if expr="l.settings:category_listing:page_links:last_ page GT 1">
<div class="column whole align-center medium-align-right page-links">
<span class="page-links-container">
<mvt:if expr="l.settings:category_listing:page_links:curre nt_page NE 1">
<a href="&mvte:category_listing:page_links:prev_link; " class="page-links-previous rt-icon-arrow-left"></a>
<mvt:else>
<span class="page-links-previous page-links-deactivated rt-icon-arrow-left"></span>
</mvt:if>
<mvt:if expr="NOT l.settings:category_listing:page_links:contains_fi rst">
<a href="&mvte:category_listing:page_links:first_link ;" class="page-links-inactive">1 …</a>
</mvt:if>
<mvt:foreach iterator="pages" array="category_listing:page_links:pages">
<mvt:if expr="l.settings:category_listing:page_links:curre nt_page EQ l.settings:pages:page_num">
<span class="page-links-active">&mvte:pages:page_num;</span>
<mvt:else>
<a href="&mvte:pages:link;" class="page-links-inactive">&mvte:pages:page_num;</a>
</mvt:if>
</mvt:foreach>
<mvt:if expr="NOT l.settings:category_listing:page_links:contains_la st">
<a href="&mvte:category_listing:page_links:last_link; " class="page-links-inactive">… &mvte:category_listing:page_links:last_page;</a>
</mvt:if>
<mvt:if expr="l.settings:category_listing:page_links:curre nt_page NE l.settings:category_listing:page_links:last_page">
<a href="&mvte:category_listing:page_links:next_link; " class="page-links-next rt-icon-arrow-right"></a>
<mvt:else>
<span class="page-links-next page-links-deactivated rt-icon-arrow-right"></span>
</mvt:if>
</span>
</div>
</mvt:if>
</div>
<!-- end filter-items-container bottom-pagination -->
</mvt:if>
Leave a comment:
-
I have updated the demonstration site to Miva 10 and I am not able to duplicate the issue you are seeing. Do you have any custom code or layout changes which rely on a module?
Leave a comment:
-
I have not heard of anything like this, but I will test it out.
Leave a comment:
-
Iron and Wool child categories MIVA 10.1
Hi, just tested upgrade to version #10 in my dev environment. 10.1 fixed navigation menu. . Everything seems to work fine except some strange doubles x 2 of child categories on CTGY pages. I have not gone through templates changes though. Anyone has experinieced the same problem? Just thought to ask before digging into templates. I do not know if it is ReadyTheme problem or update forum issue. ctgy10.JPG
Leave a comment: