0

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

封面图片应该在这里:

在此处输入图像描述

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

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

编写代码后图像未加载,显示如下:

在此处输入图像描述

如何显示图像?

4

2 回答 2

0

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

于 2016-11-25T12:51:42.180 回答
0

首先,控制器有几件事。

最新的 post 路由不渲染封面属性,如下所示:

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>
于 2016-11-26T01:41:22.553 回答