WordPress 3.5 Media Manager – füge meine eigenen Backbone.js-Ansichten hinzu

Lesezeit: 3 Minuten

Benutzeravatar von Kriesi
Kriesi

Ich versuche derzeit, den neuen WordPress 3.5-Medienmanager zu verwenden, der backbone.js verwendet, um sein modales Fenster zu erstellen und zu füllen.

Was ich tun möchte, ist: Ein Benutzer klickt auf die Schaltfläche zum Hochladen, der Medienmanager wird angezeigt, der Benutzer wählt ein Bild aus, drückt auf Einfügen, das Bild wird dann in einem benutzerdefinierten Feld gespeichert.

All das funktioniert bereits, das einzige, was ich ändern möchte, ist, die Seitenleiste des Medien-Uploaders (wo Benutzer Untertitel, Titel, Größe usw. hinzufügen können) mit meiner eigenen Vorlage zu füllen.

Ich habe bereits Dutzende von Tutorials gelesen, wie man mit Backbone arbeitet, aber jetzt stecke ich ein wenig fest. Hier ist mein Code bisher:

//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();

}

Ich habe auch versucht, meine eigene Vorlage wie folgt zu registrieren:

media.view.Attachment.mySidebar = media.view.Settings.AttachmentDisplay.extend(
{
    className: 'attachment-display-settings',
    template:  media.template('avia-choose-size')
});

Aber das Problem ist: Ich weiß nicht, wo ich nur diese Vorlage anstelle der ursprünglichen Seitenleiste laden soll. Das Übergeben als AttachmentView-Parameter funktioniert offensichtlich nicht, da es die gesamte Vorlage und nicht nur die Seitenleiste ersetzt.

Wer kann mit Backbone.js-Erfahrung helfen?

  • Versuchen wordpress.stackexchange.com

    – Ünsal Korkmaz

    20. Februar 2013 um 18:56 Uhr

  • Hey Kriesi, ich kämpfe auch mit der neuen wp.media-API und suche Hilfe bei Koop, der ohne Antwort hinter dem Kerncode steckt. Hier ist meine Herausforderung: stackoverflow.com/questions/15537480/…

    – Adal

    21. März 2013 um 0:45 Uhr

Ich bin mir nicht sicher, ob Sie jemals eine Antwort auf Ihre Frage gefunden haben, aber ich wollte Sie wissen lassen, dass ich den obigen Code für mich zum Laufen gebracht habe, indem ich einfach Verweise auf “media”-Objekte repariert habe, denen kein “wp” vorangestellt war. Also … sollte Ihr neuer benutzerdefinierter Statuscode stattdessen so aussehen:

file_frame.states.add([

new wp.media.controller.Library({
    id:         'mystate',
    title: 'my title',
    priority:   20,
    toolbar:    'select',
    filterable: 'uploaded',
    library:    wp.media.query( file_frame.options.library ),
    multiple:   file_frame.options.multiple ? 'reset' : false,
    editable:   true,
    displayUserSettings: false,
    displaySettings: true,
    allowLocalEdits: true,
      //AttachmentView: ?

}),
]);

Ich persönlich wollte den anfänglichen Standardzustand des ‘Select’-Frames ERSETZEN, den ich durch Hinzufügen erreicht habe states : 'mystate' zu den file_frame-Optionen, was bewirkt, dass die Initialisierung zurückkehrt, ohne den standardmäßigen ‘select’-Zustand zu erzeugen. Fahren Sie dann mit der Erstellung von „mystate“ fort, wie Sie es demonstriert haben (mit den zwei geringfügigen Änderungen in der Objektsyntax).

Mein Dank gilt Ihnen für den methodischen Vorsprung hier! Es funktionierte perfekt, und ich war vorher völlig verloren und frustriert.

  • und jetzt endet meine 3-tägige Suche. Für mein ganzes Leben hat niemand sonst eine Lösung gepostet, mit der Sie die Auswahloption für das einzige Bild anzeigen aus dieser Post-Auswahloption aufrufen konnten. vielen Dank!

    – SlickRemix

    21. Mai 2014 um 18:11 Uhr

1389850cookie-checkWordPress 3.5 Media Manager – füge meine eigenen Backbone.js-Ansichten hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy