From 1561d4f5a27b07a25afe38b7bec6ec0c7f78e7d3 Mon Sep 17 00:00:00 2001 From: Ivan Office Date: Mon, 8 Jul 2024 12:58:20 +0800 Subject: [PATCH] =?UTF-8?q?opt=20seo=20blog=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app_website_blog_editor/__manifest__.py | 2 +- app_website_blog_editor/models/blog_post.py | 25 +++++++++++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app_website_blog_editor/__manifest__.py b/app_website_blog_editor/__manifest__.py index dce672eb..d64bb58b 100644 --- a/app_website_blog_editor/__manifest__.py +++ b/app_website_blog_editor/__manifest__.py @@ -39,7 +39,7 @@ { 'name': "Website Blogs,Page Editor in source code. mass edit blog and page.Odoo网页与博文源码编辑器", - 'version': '16.24.04.01', + 'version': '16.24.07.05', 'author': 'odooai.cn', 'category': 'Website', 'website': 'https://www.odooai.cn', diff --git a/app_website_blog_editor/models/blog_post.py b/app_website_blog_editor/models/blog_post.py index 5b3d8b89..c59ba44b 100644 --- a/app_website_blog_editor/models/blog_post.py +++ b/app_website_blog_editor/models/blog_post.py @@ -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):