Odoo 博客封面图片未显示

Odoo blog cover image not showing

我已经创建了自定义的最新博客模板。但是我无法在缩略图中显示封面图片。

封面图片应该在这里:

我写了下面的代码来显示封面图片:

<div class="panel">
    <t t-set="properties" t-value="json.loads(post.cover_properties)">
       <a class="o_panel_cover" t-attf-href="#{blog_url('', ['blog', 'post'], blog=post.blog_id, post=post)}" t-att-style="background-image: #{cover_properties.get('background-image')};">
       </a>
    </t>
    <div class="panel-heading mt0 mb0">
        <h4 class="mt0 mb0">
          <a t-attf-href="#{blog_url('', ['blog', 'post'], blog=post.blog_id, post=post)}" t-field="post.name"></a>
          <span t-if="not post.website_published" class="text-warning">
             <span class="fa fa-exclamation-triangle ml8" title="Unpublished"/>
          </span>
        </h4>
    </div>

写代码后图片加载不出来,显示如下:

如何显示图片?

我会建议你清除浏览器的缓存,有时因为缓存过载我们无法获取图像。

首先,控制器有几件事。

最新的post路由不渲染cover-properties,如下所示:

return request.render("website_blog.latest_blogs", {
        'posts': posts,
        'pager': pager,
        'blog_url': blog_url,
    })

所以我在我的控制器中添加了必要的功能并像这样返回:

return request.render("website_blog.latest_blogs", {
        'posts': posts,
        'pager': pager,
        'blog_url': blog_url,
        'blogs':blogs,
        'blog_posts': blog_posts,
        'blog_posts_cover_properties': [json.loads(b.cover_properties) for b in blog_posts],
    })

在 XML 上返回如下:

 <t t-set="cover_properties" t-value="blog_posts_cover_properties[post_index]"/>
    <a class="o_panel_cover" t-attf-href="#{blog_url('', ['blog', 'post'], blog=post.blog_id, post=post)}" 
      t-attf-style="background-image: #{cover_properties.get('background-image')};"></a>