Announcement

Collapse
No announcement yet.

Iron and Wool child categories MIVA 10.1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    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

    #2
    I have not heard of anything like this, but I will test it out.
    Matt Zimmermann

    Miva Web Developer
    Alchemy Web Development
    https://www.alchemywebdev.com
    Site Development - Maintenance - Consultation

    Miva Certified Developer
    Miva Professional Developer

    https://www.dev4web.net | Twitter

    Comment


      #3
      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?
      Matt Zimmermann

      Miva Web Developer
      Alchemy Web Development
      https://www.alchemywebdev.com
      Site Development - Maintenance - Consultation

      Miva Certified Developer
      Miva Professional Developer

      https://www.dev4web.net | Twitter

      Comment


        #4
        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&hellip;</option>
        <mvt:else>
        <option value="disp_order">Sortera By&hellip;</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> &#47;</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> &#47;</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> &#47;</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> &#47;</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 &hellip;</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">&hellip; &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örhands 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 &hellip;</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">&hellip; &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>

        Comment


          #5
          I would check for any duplicate code in either <mvt:item name="prod_ctgy_hdft" param="ctgy_header" /> or <mvt:item name="subcategory_listing" />
          Matt Zimmermann

          Miva Web Developer
          Alchemy Web Development
          https://www.alchemywebdev.com
          Site Development - Maintenance - Consultation

          Miva Certified Developer
          Miva Professional Developer

          https://www.dev4web.net | Twitter

          Comment


            #6
            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

            Comment


              #7
              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?
              Matt Zimmermann

              Miva Web Developer
              Alchemy Web Development
              https://www.alchemywebdev.com
              Site Development - Maintenance - Consultation

              Miva Certified Developer
              Miva Professional Developer

              https://www.dev4web.net | Twitter

              Comment


                #8
                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 :-)

                Comment


                  #9
                  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
                  Last edited by Protos; 10-02-20, 01:13 PM.

                  Comment

                  Working...
                  X