Я пытаюсь расширить медиа-модал, но я не могу найти какую-либо документацию / руководства по этому вопросу. Я тоже не мастер магистралей ;-)
Я хочу добавить поле выбора для каждой таксономии, которая прикреплена к типу сообщения вложения. На данный момент отображается только одно поле выбора.
Так вот что я придумал. Он прекрасно работает, за исключением того, что он заменяет панель инструментов по умолчанию.
Код
/**
* Extended Filters dropdown with taxonomy term selection values
*/
jQuery.each(mediaTaxonomies,function(key,label){
media.view.AttachmentFilters[key] = media.view.AttachmentFilters.extend({
className: key,
createFilters: function() {
var filters = {};
_.each( mediaTerms[key] || {}, function( term ) {
var query = {};
query[key] = {
taxonomy: key,
term_id: parseInt( term.id, 10 ),
term_slug: term.slug
};
filters[ term.slug ] = {
text: term.label,
props: query
};
});
this.filters = filters;
}
});
/**
* Replace the media-toolbar with our own
*/
media.view.AttachmentsBrowser = media.view.AttachmentsBrowser.extend({
createToolbar: function() {
media.model.Query.defaultArgs.filterSource = 'filter-media-taxonomies';
this.toolbar = new media.view.Toolbar({
controller: this.controller
});
this.views.add( this.toolbar );
this.toolbar.set( 'terms', new media.view.AttachmentFilters[key]({
controller: this.controller,
model: this.collection.props,
priority: -80
}).render() );
}
});
});
оригинал
Мой результат
Что я хочу
Полный код
источник