opt seo blog显示

This commit is contained in:
Ivan Office
2024-07-08 12:58:20 +08:00
parent 0d76a3821d
commit 1561d4f5a2
2 changed files with 17 additions and 10 deletions

View File

@@ -2,6 +2,7 @@
import json
from odoo import api, models, fields, _
from odoo.http import request
from odoo.tools.safe_eval import safe_eval
@@ -12,19 +13,25 @@ class BlogPost(models.Model):
blog_id = fields.Many2one('blog.blog', ondelete='restrict')
def write(self, vals):
if vals.get('website_meta_og_img'):
website = request.env['website'].get_current_website()
if 'website_meta_og_img' in vals and not vals.get('cover_properties'):
sync_blog_meta_background_img = self.env['ir.config_parameter'].sudo().get_param('app_website_blog_editor.sync_blog_meta_background_img')
if sync_blog_meta_background_img:
web_base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url', default='')
img_url = vals.get('website_meta_og_img').replace(web_base_url, '')
for rec in self:
cover_properties = json.loads(rec.cover_properties)
cover_properties.update({
'background-image': 'url("%s")' % img_url,
})
vals.update({
'cover_properties': json.dumps(cover_properties)
})
if not vals.get('website_meta_og_img') and website.has_social_default_image and website.social_default_image:
# 设置为空值则用 社媒seo图
img_url = website.image_url(website, 'social_default_image')
else:
img_url = vals.get('website_meta_og_img').replace(web_base_url, '').replace(website.domain, '')
if img_url:
cover_properties = json.loads(rec.cover_properties)
cover_properties.update({
'background-image': 'url("%s")' % img_url,
})
vals.update({
'cover_properties': json.dumps(cover_properties)
})
return super(BlogPost, self).write(vals)
def action_post_debug_view(self):