[FIX] website_blog, website_event: prevent wrong meta og:image URL
Without this commit, if the cover properties's background-image contains single quotes in the `url()`, that will lead to 404 image in SEO dialog. It will also lead to wrong og:image in the DOM. Before: `<meta property="og:image" content="'website_blog/static/src/img/cover_1.jpg'"/>` Now: `<meta property="og:image" content="http://localhost:8069/website_blog/static/src/img/cover_1.jpg"/>` This is the case for all our demo data. closes odoo/odoo#47994 X-original-commit: 2338f8ecc8c21299774e288ab07bb084a58cc7ab Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com> Signed-off-by: Romain Derie <rdeodoo@users.noreply.github.com>
This commit is contained in:
@@ -258,7 +258,8 @@ class BlogPost(models.Model):
|
||||
res['default_opengraph']['article:published_time'] = self.post_date
|
||||
res['default_opengraph']['article:modified_time'] = self.write_date
|
||||
res['default_opengraph']['article:tag'] = self.tag_ids.mapped('name')
|
||||
res['default_opengraph']['og:image'] = res['default_twitter']['twitter:image'] = json.loads(self.cover_properties).get('background-image', 'none')[4:-1]
|
||||
# background-image might contain single quotes eg `url('/my/url')`
|
||||
res['default_opengraph']['og:image'] = res['default_twitter']['twitter:image'] = json.loads(self.cover_properties).get('background-image', 'none')[4:-1].strip("'")
|
||||
res['default_opengraph']['og:title'] = res['default_twitter']['twitter:title'] = self.name
|
||||
res['default_meta_description'] = self.subtitle
|
||||
return res
|
||||
|
||||
@@ -155,7 +155,8 @@ class Event(models.Model):
|
||||
def _default_website_meta(self):
|
||||
res = super(Event, self)._default_website_meta()
|
||||
event_cover_properties = json.loads(self.cover_properties)
|
||||
res['default_opengraph']['og:image'] = res['default_twitter']['twitter:image'] = event_cover_properties.get('background-image', 'none')[4:-1]
|
||||
# background-image might contain single quotes eg `url('/my/url')`
|
||||
res['default_opengraph']['og:image'] = res['default_twitter']['twitter:image'] = event_cover_properties.get('background-image', 'none')[4:-1].strip("'")
|
||||
res['default_opengraph']['og:title'] = res['default_twitter']['twitter:title'] = self.name
|
||||
res['default_opengraph']['og:description'] = res['default_twitter']['twitter:description'] = self.subtitle
|
||||
res['default_twitter']['twitter:card'] = 'summary'
|
||||
|
||||
Reference in New Issue
Block a user