Ich benutze meine eigene benutzerdefinierte Dateiauswahl mit TinyMCE 4 neue file_picker_callback Funktion. Die Dokumentation dazu ist nicht großartig, so Kredit geht an Fred für mich so weit - https://stackoverflow.com/a/24571800/2460995TinyMCE4 file_picker_callback - return zusätzliche Parameter
Die benutzerdefinierte Dateiauswahl funktioniert und wenn Sie auf ein Bild klicken, füllt es die "Quelle" und auch die "Abmessungen ". Ich frage mich nur, ob es eine Möglichkeit gibt, das Feld "Image description" auch automatisch auszufüllen.
Die Informationen für die Bilder werden aus einer Datenbanktabelle generiert, daher habe ich bereits eine Beschreibung und es wäre nett, sie automatisch für den Benutzer auszufüllen. Nachdem ich verschiedene Wege versucht habe, die Daten zurück zu geben, habe ich Schwierigkeiten zu verstehen, wie es gemacht werden kann.
-Code für TinyMCE:
tinymce.init({
...
file_picker_callback: function(callback, value, meta) {
myImagePicker(callback, value, meta);
}
});
function myImagePicker(callback, value, meta) {
tinymce.activeEditor.windowManager.open({
title: 'Image Browser',
url: '/media/browser/1?type=' + meta.filetype,
width: 800,
height: 550,
}, {
oninsert: function (url) {
callback(url);
}
});
};
-Code für das Custom File Picker:
$(function(){
$('.img').on('click', function(event){
mySubmit('/upload/' + $(this).data('filename'));
});
});
function mySubmit(url) {
top.tinymce.activeEditor.windowManager.getParams().oninsert(url);
top.tinymce.activeEditor.windowManager.close();
}
Mein Javascript Wissen ist nicht der größte noch, wie ich es ganz neu bin, also wenn Sie Bitte erläutern Sie Ihre Antworten mit Beispielen und/oder klarer Logik, die sehr nützlich und sehr geschätzt wären.
würde ich fast die Hoffnung auf dieses aufgegeben , aber 6 Wochen nachdem ich gepostet habe, kommt ein Held namens Jason und macht es richtig t Zeit. Das hat perfekt für mich funktioniert. Vielen Dank, dass du dir die Zeit genommen hast zu antworten! – SigmaSteve
In einem sehr verwandten Hinweis, ich versuche, den aktuellen Wert der Metafelder zu vergleichen, damit es nicht automatisch durch den aus dem Dateibrowser zurückgegeben wird.Markieren Sie zum Beispiel Text, klicken Sie auf den Link und öffnen Sie den Browser, klicken Sie auf ein Element. Die Logik sollte lauten: if (textToDisplay === "") textToDisplay.val = browserText. Aber ich kann nirgends finden, wie ich "textToDisplay" referenzieren kann, um es in einer if-Anweisung zu verwenden! Irgendwelche Ideen? – SigmaSteve
@Lason S: In diesem Fall sollten Sie die Antwort akzeptieren – Thariama