2013-02-03 8 views
9

Ich versuche gerade, den neuen WordPress 3.5 Media Manager zu verwenden, der backbone.js verwendet, um sein modales Fenster zu erstellen und zu bevölkern.wordpress 3.5 media manager - füge meine eigenen backbone.js Ansichten hinzu

Was ich tun möchte, ist: ein Benutzer klickt Upload-Taste, Media Manager Pop-Up, Benutzer wählt Bild, drückt Einfügen, Bild wird dann in benutzerdefinierten Feld gespeichert.

All dies funktioniert bereits, das einzige, was ich ändern möchte, ist die Seitenleiste des Medien-Uploaders (wo Benutzer hinzufügen können Titel, Titel, wählen Sie Größe, etc) mit meiner eigenen Vorlage.

Ich lese bereits Dutzende von Tutorials zur Arbeit mit Backbone, aber bin jetzt ein wenig fest. hier ist mein einige Code so weit:

//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 auch versucht haben, meine eigene Vorlage wie diese Registrierung:

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

aber das Problem ist: Ich habe nicht nur diese Vorlage zu laden weiß waren statt die ursprüngliche Seitenleiste. Es als AttachmentView-Parameter zu übergeben funktioniert offensichtlich nicht, da es die gesamte Vorlage und nicht nur die Seitenleiste ersetzt.

Jeder mit etwas backbone.js Erfahrung, die helfen kann?

+1

probiere http://wordpress.stackexchange.com/ –

+0

Hey Kriesi, ich kämpfe auch mit der neuen API von wp.media und suche Hilfe von Koop, der hinter dem Kerncode ohne Antwort steht. Hier ist meine Herausforderung: http://stackoverflow.com/questions/15537480/display-attachments-by-id-in-a-wp-media-frame – Adal

Antwort

2

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 verwendet habe, indem ich Referenzen auf "Medien" -Objekte fixierte "wp." So ... Ihr neuer benutzerdefinierte Status-Code soll wie folgt statt 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 REPLACE wollte den ursprünglichen Standardzustand der ‚wählen‘ Rahmen, die ich von states : 'mystate' die file_frame Optionen Zugabe erreicht, was zu die Initialisierung, die zurückgegeben werden soll, ohne den Standardzustand 'Select' zu erstellen. Und dann fuhr ich mit dem Erstellen von 'mystate' fort, wie Sie gezeigt haben (mit den zwei kleineren Änderungen in der Objektsyntax).

Mein Dank geht an Sie für die methodische Führung hier! Es funktionierte perfekt, und ich war vorher völlig verloren und frustriert.

+0

und jetzt endet meine 3-Tage-Suche. Für das Leben von mir hat niemand sonst eine Lösung gepostet, die es Ihnen ermöglicht, die Auswahloption für das einzige Show-Bild von dieser Post-Auswahl-Option aufzurufen. vielen Dank! – SlickRemix

Verwandte Themen