Переопределить saveCompat для WordPress Media Uploader
Я новичок в Backbone
, поэтому не могу понять, что я делаю не так. Что мне нужно, это переопределить saveCompat (media-models.js
line 310
, WP 3.9.1
). Я пытаюсь сделать это так же, как я переопределил некоторые взгляды СМИ
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...
}
});
С помощью _.extend
убирает возможность вызова реализации методов суперкласса. Правильный (или, по крайней мере, рабочий) способ сделать это - использовать Backbone's extend
метод, а затем переписать прототип в wp.media.model.Attachment
как это:
var MediaCreditAttachmentModel = wp.media.model.Attachment.extend( {
saveCompat: function( data, options ) {
...
}
} );
wp.media.model.Attachment.prototype = MediaCreditAttachmentModel.prototype;