【问题标题】:Override saveCompat for WordPress Media Uploader覆盖 WordPress 媒体上传器的 saveCompat
【发布时间】:2014-08-17 09:54:56
【问题描述】:

我是Backbone 的新手,所以不明白我做错了什么。我需要的是覆盖 saveCompat(media-models.jsline 310WP 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...
    }
});

提前致谢!

【问题讨论】:

    标签: wordpress backbone.js overriding media uploader


    【解决方案1】:

    使用_.extend 删除了调用方法的超类实现的能力。正确的(或至少是可行的)方法是使用 Backbone 的 extend 方法,然后像这样覆盖 wp.media.model.Attachment 中的原型:

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

    【讨论】:

      【解决方案2】:

      我想通了。正确的扩展方式是:

      _.extend( wp.media.model.Attachment.prototype, {
      
          saveCompat: function( data, options ) {
              some code here...
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2011-03-21
        • 1970-01-01
        • 2019-01-21
        • 2013-10-20
        • 1970-01-01
        • 2011-02-27
        • 2012-09-04
        • 2013-07-02
        • 2016-08-22
        相关资源
        最近更新 更多