This question has been flagged
3134 Views

Hi there,


I am quite new on Odoo and trying to discover how to use it with customise theme, modules and snippets etc.


I installed Odoo 14 to my mac via Docker. I'm following the tutorial below to create a new snippet:
https://www.odoo.com/documentation/14.0/howtos/themes.html#create-snippets


I created the snippet but I couldn't show it on Editor Bar.


This is the content of my snippets.xml file:

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="snippet_testimonial" name="R3GIS Test Snippet">
  <section class="snippet_testimonial">
    <div class="container text-center">
      <div class="row">
        <div class="col-lg-4">
          <img alt="client" class="rounded-circle" src="/theme_tutorial/static/src/img/client_1.jpg"/>
          <h3>Client Name</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        </div>
        <div class="col-lg-4">
          <img alt="client" class="rounded-circle" src="/theme_tutorial/static/src/img/client_2.jpg"/>
          <h3>Client Name</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        </div>
        <div class="col-lg-4">
          <img alt="client" class="rounded-circle" src="/theme_tutorial/static/src/img/client_3.jpg"/>
          <h3>Client Name</h3>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        </div>
      </div>
    </div>
  </section>
</template>
<template id="place_into_bar" inherit_id="website.snippets" name="Place into bar">
  <xpath expr="//div[@id='snippet_structure']/div[@class='o_panel_body']" position="inside">
    <t t-snippet="theme_tutorial.snippet_testimonial"
       t-thumbnail="/theme_tutorial/static/src/img/ui/snippet_thumb.jpg"/>
  </xpath>
</template>
</odoo> 

After I updated my theme, I click to Edit button on website in order to see the snippet into the Editor Bar, I get the error below: 

Odoo Server Error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 682, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 358, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 346, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 911, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 530, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1359, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1351, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 392, in call_kw
    result = _call_kw_model(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 365, in _call_kw_model
    result = method(recs, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1691, in render_public_asset
    return template.sudo()._render(values, engine="ir.qweb")
  File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 401, in _render
    return super(View, self)._render(values, engine=engine, minimal_qcontext=minimal_qcontext)
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_ui_view.py", line 28, in _render
    return super(IrUiView, self)._render(values=values, engine=engine, minimal_qcontext=minimal_qcontext)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1702, in _render
    return self.env[engine]._render(self.id, qcontext)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 55, in _render
    result = super(IrQWeb, self)._render(id_or_xml_id, values=values, **context)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 258, in _render
    self.compile(template, options)(self, body.append, values or {})
  File "<decorator-gen-66>", line 2, in compile
  File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 90, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 110, in compile
    return super(IrQWeb, self).compile(id_or_xml_id, options=options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 300, in compile
    raise QWebException("Error when compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name)
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 314, in _handle_exception
    raise exception.with_traceback(None) from new_cause
odoo.addons.base.models.qweb.QWebException: View 'theme_tutorial.snippet_testimonial' in website 1 not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 85, in lookup
    r = d[key]
  File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 71, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__
    a = self.d[obj]
KeyError: ('ir.qweb', <function IrQWeb.compile at 0x7f3ddfb7a840>, 1056, ('en_US', None, None, None, None, 1))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 85, in lookup
    r = d[key]
  File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 71, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/tools/lru.py", line 34, in __getitem__
    a = self.d[obj]
KeyError: ('ir.ui.view', <function View.get_view_id at 0x7f3ddcf628c8>, 2, True, 'theme_tutorial.snippet_testimonial', (1,))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 289, in compile
    body = self._compile_node(element, _options)
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 73, in _compile_node
    return super()._compile_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 653, in _compile_node
    return body + self._compile_directives(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 674, in _compile_directives
    return compile_handler(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 116, in _compile_directive_tag
    return super(QWeb, self)._compile_directive_tag(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1007, in _compile_directive_tag
    content = self._compile_directives(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 674, in _compile_directives
    return compile_handler(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1070, in _compile_directive_content
    body.extend(self._compile_node(item, options))
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 73, in _compile_node
    return super()._compile_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 644, in _compile_node
    return self._compile_static_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 800, in _compile_static_node
    content = self._compile_directive_content(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1070, in _compile_directive_content
    body.extend(self._compile_node(item, options))
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 73, in _compile_node
    return super()._compile_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 644, in _compile_node
    return self._compile_static_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 800, in _compile_static_node
    content = self._compile_directive_content(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1070, in _compile_directive_content
    body.extend(self._compile_node(item, options))
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 73, in _compile_node
    return super()._compile_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 644, in _compile_node
    return self._compile_static_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 800, in _compile_static_node
    content = self._compile_directive_content(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1070, in _compile_directive_content
    body.extend(self._compile_node(item, options))
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 73, in _compile_node
    return super()._compile_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 644, in _compile_node
    return self._compile_static_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 800, in _compile_static_node
    content = self._compile_directive_content(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1070, in _compile_directive_content
    body.extend(self._compile_node(item, options))
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 73, in _compile_node
    return super()._compile_node(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 653, in _compile_node
    return body + self._compile_directives(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 674, in _compile_directives
    return compile_handler(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 116, in _compile_directive_tag
    return super(QWeb, self)._compile_directive_tag(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 1007, in _compile_directive_tag
    content = self._compile_directives(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/qweb.py", line 674, in _compile_directives
    return compile_handler(el, options)
  File "/usr/lib/python3/dist-packages/odoo/addons/web_editor/models/ir_qweb.py", line 80, in _compile_directive_snippet
    view_id = View.get_view_id(key)
  File "<decorator-gen-161>", line 2, in get_view_id
  File "/usr/lib/python3/dist-packages/odoo/tools/cache.py", line 90, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 323, in get_view_id
    raise ValueError('View %r in website %r not found' % (xml_id, self._context['website_id']))
ValueError: View 'theme_tutorial.snippet_testimonial' in website 1 not found

Error when compiling AST
ValueError: View 'theme_tutorial.snippet_testimonial' in website 1 not found
Template: website.snippets
Path: /t/div[3]/t/div[2]/div[2]/t[19]
Node: <t t-snippet="theme_tutorial.snippet_testimonial" t-thumbnail="/theme_tutorial/static/src/img/ui/snippet_thumb.jpg"/>


What should I do?

Avatar
Discard