Erstellen Sie eine von WordPress inspirierte Mediathek in Laravel PHP

Lesezeit: 2 Minuten

Benutzeravatar von poashoas
poashoas

Im Moment arbeite ich an einer Medialibrary im Laravel-Framework. Ich betrachte WordPress aus Sicht der Benutzererfahrung. Die Registerkarte Medienbibliothek zeigt die Bilder, die Sie auswählen können.

  1. Ich habe ZWEI Bilder (Umschalt + Klick) unter “Medien einfügen” überprüft.
  2. Ich wechsle zu „Empfohlenes Bild“ und überprüfe EIN Bild auf „Empfohlenes Bild“.
  3. Wenn ich bei Insert Media zurückschalte, merkt es sich die beiden zuvor ausgewählten Bilder und vergisst das aktivierte Featured Image.

Geben Sie hier die Bildbeschreibung ein

Wie „merkt“ sich WordPress, welche Bilder in der Ansicht „Medien einfügen“ überprüft werden? Ist das eine Backbone-Ansicht, die sie mit einigen Daten verwenden, die in einem Modell gespeichert sind? Denn jedes Mal wechsle ich zwischen Insert Media und Featured Image um UL Element ändert sich id Attribut: (__attachments-view-xxx).

Wenn ich nur einfaches Javascript verwende, könnte ich stattdessen einige IDs in ein assoziatives Array einfügen? Das bedeutet, dass ich jedes Mal, wenn ich zurück zu Medien einfügen wechsele, die entsprechenden Bilder finden muss, um sie erneut zu überprüfen? Was ist, wenn Sie Hunderte von Medienelementen haben, die jedes Mal durchsucht werden müssen …

Ich habe das Gefühl, die Bibliothek unterstreichen könnte als gute Alternative irgendwie hilfreich sein, habe aber nicht herausgefunden, wie man es benutzt, um alles so reibungslos und schnell wie möglich zu machen … Es sieht so aus, als ob WordPress die Medienelemente nicht einmal “aktualisiert”. Kann mir jemand einen Tipp geben, um dieses Verhalten nachzuahmen?

Ein einfacher Weg wäre:

  • Jedes Element in der Galerieansicht hat eine eindeutige ID (z. B. die tatsächliche ID von WordPress). Es kann beispielsweise als Datenattribut oder als HTML-ID-Attribut gespeichert werden.
  • Sie haben dann separate Arrays, die die IDs ausgewählter Elemente für jede Registerkarte speichern (Medien einfügen / ausgewähltes Bild).
  • Wenn der Benutzer auf ein Element klickt, wird die ID dieses Elements zum entsprechenden Array für die angezeigte Registerkarte hinzugefügt (oder entfernt).
  • Wenn der Benutzer die Registerkarten wechselt, deaktivieren Sie zuerst alles in der Galerie (entfernen Sie die Klasse, die sie als ausgewählt markiert), gehen Sie dann durch Ihr entsprechendes Array und wählen Sie erneut aus, was sich in dieser Liste befindet.

Natürlich bin ich sicher, dass WordPress etwas viel Verfeinertes macht, wie das Speichern einer Liste aller Bilder, die es von der AJAX-Anfrage als Objekte erhalten hat, dann diese Operationen auf dieser Liste ausführt und auch Elemente in der Galerieansicht basierend ein-/ausblendet auf welcher Registerkarte Sie auswählen. Aber die Grundidee ist die gleiche.

1392840cookie-checkErstellen Sie eine von WordPress inspirierte Mediathek in Laravel PHP

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

Privacy policy