Ich versuche, eine Medienbibliothek zu erstellen, in der Benutzer Bilder auswählen können, die aus benutzerdefinierten Ordnern abgerufen werden, deren Basisordner sie angeben können. Ich erhalte die richtigen Bilder zurück, aber die angegebene Vorlage wird nicht auf die Miniaturansichten angewendet. Die Beschriftung wird gefunden (siehe Seitenleiste, wenn img ausgewählt ist).
Anstatt die gewünschte Vorlage anzuwenden, heißt es
<div class="filename"><div></div></div>
Ich brauche nicht einmal eine benutzerdefinierte Vorlage. Ich würde mich freuen, wenn das Bild wie in der Standardbibliothek angezeigt wird, aber ich kann anscheinend nicht das richtige Ergebnis erzielen.
In der Datei media-folder-management.js habe ich dies
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;
}
});
Und in media-folder-management.php gibt es
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
}
Ziel ist es, die WP-Funktionalität beizubehalten (ausgewähltes Bild, Galerie erstellen, in Seite / Beitrag einfügen), jedoch mit einer strukturierteren Ordnerstruktur (da der Kunde bereits über eine vollständige Bildbibliotheksstruktur verfügt).
Die nächsten Schritte wären:
- Wenn eine Datei in das Fenster gezogen wird, muss sie in einen geöffneten Ordner hochgeladen werden
- Ordner erstellen / löschen (mit Berechtigungen entsprechend den Benutzerrollen)
- ziehe img in einen anderen Ordner (optional)
Ich hoffe, jemand kann mir helfen, dieses Problem zu lösen. Ich bin mit Backbone.js noch nicht sehr vertraut.
Vielen Dank im Voraus!
quelle
Antworten:
Ok, ich habe inzwischen einige Dinge herausgefunden: Ich habe das gerenderte Bild in nichts zurückgegeben
Im Javascript habe ich eine Renderfunktion
Offensichtlich zeigten meine Bilder nicht ...
Da ich aber keine Vorlage brauche, habe ich diesen Code entfernt, sodass die Standard-tmpl verwendet wird.
Meine Suche geht zwar weiter, im Moment habe ich Probleme beim Ausfüllen des in der Medienvorlage verwendeten Datenobjekts, aber ich werde eine weitere Frage dazu stellen, da es sich um ein anderes Problem handelt. Bei Interesse finden Sie hier die Frage: Anhang Medienmodell-Datenmodell (data.size.url)
quelle