我正在尝试构建一个媒体库,用户可以在其中选择从自定义文件夹中检索的图片,用户可以指定其basefolder。我正在取回正确的图像,但指定的模板未应用于缩略图。它确实可以找到标题(选择img时请参见侧栏)
它没有应用想要的模板,而是说
<div class="filename"><div></div></div>
实际上,我甚至不需要自定义模板,我很乐意将图像显示在标准库中,但我似乎无法得到正确的结果。
在介质文件夹管理中。js文件我有这个
var MfmView = Backbone.View.extend({
tagName: "li",
className: "mfmimage attachment",
template: wp.media.template(\'mfmimage\'),
render: function(){
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
和介质文件夹管理中。php有
public function print_media_templates() {
if(!$_POST[\'id\']){
$this->printInit();
}
?>
<script type="text/html" id="tmpl-mfmimage">
<p class="test"></p>
<img id="{{ data.id }}" class="<# if ( typeof(data.folder) !== \'undefined\' ) { #>folder<# } else { #>image<# } #>" src="{{ data.thumbnail }}" alt="{{ data.caption }}" title="{{ data.caption }}" data-full="{{ data.full }}" data-link="{{ data.link }}" />
<# if ( typeof(data.folder) !== \'undefined\' ) { #>
<p>{{ data.caption }}</p>
<# } #>
<a class="check" id="check-link-{{ data.id }}" href="#" title="Deselect"><div id="check-{{ data.id }}" class="media-modal-icon"></div></a>
</script>
<?php
}
目标是保持WP功能(特色图像、创建图库、插入页面/帖子),但使用更结构化的folderstructure(因为customer allready具有完整的图像库结构)。
下一步将是:
将文件拖到窗口时,必须上载到打开的文件夹中创建/删除文件夹(根据用户角色的权限)
将img拖到其他文件夹(可选)我希望有人能帮我解决这个问题,我对主干不是很熟悉。js还没有。提前感谢您!
SO网友:Anneke
好的,我现在已经弄明白了一些事情:我没有将渲染的图像返回到任何内容中
在javascript中,我有一个render函数
media.view.AttachmentsBrowser = media.view.AttachmentsBrowser.extend({
render: function(){
var that = this;
if(this.collection){
if(this.collection.models.length > 0){
this.clearImages();
_.each(this.collection.models, function (item){
//old way: that.renderImage(item);
//now:
this.$el.find(\'#lastli\').before(that.renderImage(item));
}, this);
}
}
}
});
显然我的照片没有显示。。。
但由于我并不真正需要模板,我删除了这段代码,因此采用了标准tmpl。
虽然我的任务还在继续,但目前我在填充媒体模板中使用的数据对象时遇到了问题,但我会就此发布另一个问题,因为这是另一个问题。如果有兴趣,您可以在这里找到问题:attachment media-template data model (data.size.url)