如何从媒体视图模板的输入字段中检索值

时间:2015-03-03 作者:leemon

我创建了一个包含两个输入字段(宽度和高度)的媒体视图模板,我想知道如何在媒体控制器o视图中检索在其中输入的值。

PHP:

function add_my_media_view_template(){
?>
    <script type="text/html" id="tmpl-my-media-view">
        <label class="setting width">
            <span><?php _e(\'Width\'); ?></span>
            <input type="text" class="alignment" data-setting="width" />
        </label>
        <label class="setting height">
            <span><?php _e(\'Height\'); ?></span>
            <input type="text" class="alignment" data-setting="height" />
        </label>
    </script>
<?php  }
add_action( \'print_media_templates\', \'add_my_media_view_template\');

JS:

wp.media.view.MyMediaViewSettings = wp.media.view.Settings.extend({
    className: \'my-media-view\',
    template:  wp.media.template(\'my-media-view\'),

    initialize: function() {
        ....
    }

});

wp.media.controller.Custom = wp.media.controller.State.extend({

    initialize: function(){
        ....
    },

    // called when the toolbar button is clicked
    customAction: function(){
        // NEED TO GET THE VALUES OF THE WIDTH AND HEIGHT INPUT FIELDS
    }

});
任何帮助都将不胜感激。媒体模式的文档记录很差,很难使用它构建东西。

谢谢

1 个回复
最合适的回答,由SO网友:leemon 整理而成

在深入研究了媒体模式代码后,我找到了我的问题的答案:

wp.media.controller.Custom = wp.media.controller.State.extend({

    initialize: function(){
        this.props = new Backbone.Model();
    },

    // called when the toolbar button is clicked
    customAction: function( controller ){
        // get the value of a media view template form field using
        // this.props.get(\'key\'), where \'key\' is the value of its 
        // \'data-setting\' attribute
        console.log(\'width: \' + this.props.get(\'width\'));
        console.log(\'height: \' + this.props.get(\'height\'));
    }

});

结束

相关推荐

在我的WordPress主题中包含JavaScript和CSS的正确方法

我正在尝试用正确的方法构建我自己的Wordpress主题。但是我发现的第一个问题是如何“使用正确的方式”添加css和js。我找到了一些如何做的教程。e、 x:http://code.tutsplus.com/tutorials/loading-css-into-wordpress-the-right-way--cms-20402 (这是“2014年6月30日”)这一个http://code.tutsplus.com/articles/how-to-include-javascript-and-css-in