diff options
Diffstat (limited to 'addons/website/static/src/js/menu/seo.js')
| -rw-r--r-- | addons/website/static/src/js/menu/seo.js | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/addons/website/static/src/js/menu/seo.js b/addons/website/static/src/js/menu/seo.js index 85d959cb3c6..332fde71a4f 100644 --- a/addons/website/static/src/js/menu/seo.js +++ b/addons/website/static/src/js/menu/seo.js @@ -220,6 +220,8 @@ var HtmlPage = Class.extend(mixins.PropertiesMixin, { init: function () { mixins.PropertiesMixin.init.call(this); this.initTitle = this.title(); + this.defaultTitle = $('meta[name="default_title"]').attr('content'); + this.defaultDescription = $('meta[name="default_description"]').attr('content') || _t("The description will be generated by social media based on page content unless you specify one."); this.initDescription = this.description(); }, url: function () { @@ -230,7 +232,7 @@ var HtmlPage = Class.extend(mixins.PropertiesMixin, { }, changeTitle: function (title) { // TODO create tag if missing - $('title').text(title.trim() || this.initTitle); + $('title').text(title.trim() || this.defaultTitle); this.trigger('title-changed', title); }, description: function () { @@ -348,9 +350,12 @@ var MetaTitleDescription = Widget.extend({ if (!this.canEditDescription) { this.$description.attr('disabled', true); } - - this.$title.val(this.htmlPage.title()); - this.$description.val(this.htmlPage.description()); + if (this.htmlPage.title().trim() !== this.htmlPage.defaultTitle.trim()) { + this.$title.val(this.htmlPage.title()); + } + if (this.htmlPage.description().trim() !== this.htmlPage.defaultDescription.trim()) { + this.$description.val(this.htmlPage.description()); + } this._descriptionOnChange(); }, @@ -358,13 +363,13 @@ var MetaTitleDescription = Widget.extend({ * Get the current title */ getTitle: function () { - return this.$title.val().trim() || this.htmlPage.initTitle; + return this.$title.val().trim() || this.htmlPage.defaultTitle; }, /** * Get the current description */ getDescription: function () { - return this.$description.val(); + return this.$description.val() || this.htmlPage.defaultDescription; }, /** * @private |
