[FIX] SEO for shop products
bzr revid: ddm@openerp.com-20131016160232-e5rxi1hoofm5anrw
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 () {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user