[FIX] SEO for shop products

bzr revid: ddm@openerp.com-20131016160232-e5rxi1hoofm5anrw
This commit is contained in:
ddm
2013-10-16 18:02:32 +02:00
parent 8b78e88ff9
commit ebdfbc58f1
3 changed files with 20 additions and 13 deletions
+2 -2
View File
@@ -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,
+15 -11
View File
@@ -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 () {
+3
View File
@@ -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,