Skip to Content
Menu
This question has been flagged
1 Reply
5672 Views

Hello there, i want to display categories menu inside my products, so i'm using this code in the product view

<div class="col-md-2 bg-700">
<ul class="nav nav-pills flex-column mt16">
<li class="nav-item">
<a t-att-href="keep('/shop/',category=0)" >All Products</a>
</li>
<t t-foreach="categories" t-as="c" >
<t t-call="website_sale.categories_recursive"/>
</t>
</ul>
</div>


That works but THERE IS A PROBLEM, when i search a product using the search button and open the product i get an Error

 ------------------

argument of type 'NoneType' is not iterable
Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/addons/base/models/qweb.py", line 347, in _compiled_fn
    return compiled(self, append, new, options, log)
  File "<template>", line 1, in template_website_sale_categories_recursive_104
  File "<template>", line 7, in foreach_103
TypeError: argument of type 'NoneType' is not iterable

Error to render compiling AST
TypeError: argument of type 'NoneType' is not iterable
Template: website_sale.categories_recursive
Path: /templates/t/li/ul/t/t
Node: <t t-if="not search or c.id in search_categories_ids">
                        <t t-call="website_sale.categories_recursive"/>
                    </t>

----------------------------------------------------

Avatar
Discard
Best Answer

Hi, 

Your XML code is correct but you are missing to fetch all 'categories' in controller. 

You have to fetch categories in product page. Like shop controller fetch all 'categories'. Exactly same you have to fetch and render. 

Thanks

Avatar
Discard
Related Posts Replies Views Activity
0
Apr 16
3012
1
Mar 15
1012
0
Mar 15
3031
1
Jan 25
1874
0
Nov 24
929