2014-06-26 1 views
0

Я новичок в Backbone, поэтому не могу понять, что я делаю неправильно. Мне нужно переопределить saveCompat (media-models.jsline 310, WP 3.9.1). Я пытаюсь сделать это так же, как я переопределил некоторые виды средств массовой информацииПереопределить saveCompat для WordPress Media Uploader

wp.media.model.Attachment = wp.media.model.Attachment.extend({ 

    saveCompat: function(data, options) { 
     some code here... 
    } 
}); 

Но это не работает для меня. Выполняется Native WordPress saveCompat. В то же время та же идея прекрасно работает wp.media.view.AttachmentCompat, например

wp.media.view.AttachmentCompat = wp.media.view.AttachmentCompat.extend({ 

    save: function(event) { 
     some code here... 
    } 
}); 

Спасибо заранее!

ответ

2

Я понял. Правильный способ продлить это:

_.extend(wp.media.model.Attachment.prototype, { 

    saveCompat: function(data, options) { 
     some code here... 
    } 
}); 
0

Использование _.extend устраняет возможность вызова реализацию суперкласса методов. Надлежащий (или, по крайней мере, рабочий) способ сделать это состоит в использовании метода extend Backbone, а затем переписать прототип wp.media.model.Attachment так:

var MediaCreditAttachmentModel = wp.media.model.Attachment.extend({ 
     saveCompat: function(data, options) { 
      ... 
     } 
}); 

wp.media.model.Attachment.prototype = MediaCreditAttachmentModel.prototype; 

 Смежные вопросы

  • Нет связанных вопросов^_^