我目前正在尝试使用新的 WordPress 3.5 媒体管理器,它使用主干.js 来创建和填充其模式窗口。
我想要做的是:用户单击上传按钮,弹出媒体管理器,用户选择图像,按插入,然后将图像保存到自定义字段。
所有这些都已经奏效了,我唯一想改变的是用我自己的模板填充媒体上传器的侧边栏(用户可以添加标题、标题、选择大小等)。
我已经阅读了数十篇关于如何使用骨干网的教程,但现在有点卡住了。到目前为止,这是我的一些代码:
//defined earlier:
var frame;
//on click:
if ( file_frame )
{
file_frame.open();
return;
}
else
{
// Create the media frame.
file_frame = wp.media(
{
frame: 'select',
state: 'mystate',
library: {type: 'image'},
multiple: false
});
file_frame.states.add([
new media.controller.Library({
id: 'mystate',
title: 'my title',
priority: 20,
toolbar: 'select',
filterable: 'uploaded',
library: media.query( file_frame.options.library ),
multiple: file_frame.options.multiple ? 'reset' : false,
editable: true,
displayUserSettings: false,
displaySettings: true,
allowLocalEdits: true,
//AttachmentView: ?
}),
]);
file_frame.open();
}
我也尝试过像这样注册自己的模板:
media.view.Attachment.mySidebar = media.view.Settings.AttachmentDisplay.extend(
{
className: 'attachment-display-settings',
template: media.template('avia-choose-size')
});
但问题是:我不知道只加载这个模板而不是原始侧边栏。将它作为 AttachmentView 参数传递显然不起作用,因为它替换了整个模板而不仅仅是侧边栏。
有一些backbone.js 经验的人可以提供帮助吗?