summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorddm <ddm@openerp.com>2013-10-16 18:02:32 +0200
committerddm <ddm@openerp.com>2013-10-16 18:02:32 +0200
commitebdfbc58f1beba3fd7ab39a8fc560a4e7f1b9fb1 (patch)
tree86ccd05cb0d53c464155cfdaccefa920627a9b03 /addons
parent8b78e88ff9d0ca61709cecb38f0c6d7a13789b50 (diff)
[FIX] SEO for shop products
bzr revid: ddm@openerp.com-20131016160232-e5rxi1hoofm5anrw
Diffstat (limited to 'addons')
-rw-r--r--addons/website/models/ir_ui_view.py4
-rw-r--r--addons/website/static/src/js/website.seo.js26
-rw-r--r--addons/website_sale/models/product.py3
3 files changed, 20 insertions, 13 deletions
diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py
index 1b680549164..d6ad607fa3f 100644
--- a/addons/website/models/ir_ui_view.py
+++ b/addons/website/models/ir_ui_view.py
@@ -11,8 +11,8 @@ class view(osv.osv):
'inherited_option_ids': fields.one2many('ir.ui.view','inherit_option_id','Optional Inheritancies'),
'page': fields.boolean("Whether this view is a web page template (complete)"),
'website_meta_title': fields.char("Website meta title", size=70, translate=True),
- 'website_meta_description': fields.text("Website meta description", translate=True),
- 'website_meta_keywords': fields.char("Website meta keywords", size=70, translate=True),
+ 'website_meta_description': fields.text("Website meta description", size=160, translate=True),
+ 'website_meta_keywords': fields.char("Website meta keywords", translate=True),
}
_defaults = {
'page': False,
diff --git a/addons/website/static/src/js/website.seo.js b/addons/website/static/src/js/website.seo.js
index 4413f628afa..342837f43c1 100644
--- a/addons/website/static/src/js/website.seo.js
+++ b/addons/website/static/src/js/website.seo.js
@@ -323,6 +323,9 @@
'click button[data-action=update]': 'update',
'hidden.bs.modal': 'destroy',
},
+ canEditTitle: false,
+ canEditDescription: false,
+ canEditKeywords: false,
maxTitleSize: 65,
maxDescriptionSize: 155,
start: function () {
@@ -361,18 +364,19 @@
$modal.modal();
},
disableUnsavableFields: function () {
- var $modal = this.$el;
- this.loadMetaData().then(function (data) {
- var canEditTitle = data && ('website_meta_title' in data);
- var canEditDescription = data && ('website_meta_description' in data);
- var canEditKeywords = data && ('website_meta_keywords' in data);
- if (!canEditTitle) {
+ var self = this;
+ var $modal = self.$el;
+ self.loadMetaData().then(function (data) {
+ self.canEditTitle = data && ('website_meta_title' in data);
+ self.canEditDescription = data && ('website_meta_description' in data);
+ self.canEditKeywords = data && ('website_meta_keywords' in data);
+ if (!self.canEditTitle) {
$modal.find('input[name=seo_page_title]').attr('disabled', true);
}
- if (!canEditDescription) {
+ if (!self.canEditDescription) {
$modal.find('textarea[name=seo_page_description]').attr('disabled', true);
}
- if (!canEditTitle && !canEditDescription && !canEditKeywords) {
+ if (!self.canEditTitle && !canEditDescription && !canEditKeywords) {
$modal.find('button[data-action=update]').attr('disabled', true);
}
});
@@ -417,13 +421,13 @@
update: function () {
var self = this;
var data = {};
- if (!this.htmlPage.isTitleEditable()) {
+ if (self.canEditTitle) {
data.website_meta_title = self.htmlPage.title();
}
- if (!this.htmlPage.isDescriptionEditable()) {
+ if (self.canEditDescription) {
data.website_meta_description = self.htmlPage.description();
}
- if (!this.htmlPage.isKeywordsEditable()) {
+ if (self.canEditKeywords) {
data.website_meta_keywords = self.keywordList.keywords().join(", ");
}
self.saveMetaData(data).then(function () {
diff --git a/addons/website_sale/models/product.py b/addons/website_sale/models/product.py
index 04ebbeaf39e..f48464335eb 100644
--- a/addons/website_sale/models/product.py
+++ b/addons/website_sale/models/product.py
@@ -50,6 +50,9 @@ class product_template(osv.Model):
'website_style_ids' : fields.many2many('website.product.style','product_website_style_rel', 'product_id', 'style_id', 'Styles'),
'website_sequence': fields.integer('Sequence', help="Determine the display order in the Website E-commerce"),
'website_url': fields.function(_website_url, string="Website url"),
+ 'website_meta_title': fields.char("Website meta title", size=70, translate=True),
+ 'website_meta_description': fields.text("Website meta description", size=160, translate=True),
+ 'website_meta_keywords': fields.char("Website meta keywords", translate=True),
}
_defaults = {
'website_size_x': 1,