Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

File Field: automatisch Kategorie / Taxonomy Term zuweisen

Eingetragen von Grom (17)
am 12.02.2015 - 21:44 Uhr in
  • Module
  • Drupal 7.x oder neuer

Liebes Forum,

nach stundenlanger Suche fällt mir nichts anderes mehr ein, als hier nachzufragen. Ich kämpfe mal wieder mit dem Dateisystem von Drupal. Das ist doch alles sehr unübersichtlich.

Für einen Content Type habe ich ein File Field angelegt, mit dem Standard-Upload-Steuerelement. Die Dateien werden in ein festgelegtes Verzeichnis hochgeladen. Jetzt möchte ich aber zusätzlich erreichen, dass die Dateien auch einen festgelegten taxonomy term erhalten. Warum? Damit ich sie im Media Browser 2 filtern kann, sonst wird das irgendwann alles sehr unübersichtlich, wenn viele Benutzer viele Dateien hochladen.

Wie stelle ich das an? Eigenes Modul? Gibt es schon ein Modul dafür? Oder über Rules?

Für Hinweise aller Art bin ich dankbar!

Grom

‹ [gelöst]Wer hat Erfahrung mit Mega Slider?? Webcambilder als Slideshow ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

was heißt automatisch?

Eingetragen von ronald (3834)
am 13.02.2015 - 09:24 Uhr

Woran soll das Taxonomy erkennen, dass es eingetragen werden soll?

Oder geht es eher darum, dass der Anwender, der die Datei hoch lädt, eine Kategorie auswählen muss?

Das ist leicht zu lösen.

Du machst ein Taxonomy-Term-Field zum Mussfeld und bindest einen Taxonomy Katalog daran.

Diesen Katalog befüllst du mit deinen gewünschten Kategorien.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schrieb Woran soll das

Eingetragen von Grom (17)
am 13.02.2015 - 12:56 Uhr
ronald schrieb

Woran soll das Taxonomy erkennen, dass es eingetragen werden soll?.

...ganz einfach daran, dass alle Dateien in einem Content Type immer den gleichen Term erhalten. Alle Benutzerbilder sollen mit "Benutzerbild" getaggt werden, alle Bilder in einfachen Seiten mit "Seitenbilder", alle Bilder in Praktikumsangeboten mit "Praktikumsbilder" oder so ähnlich.

Oder: Ich kann ja beim Steuerelement für den Dateiupload festlegen, in welchem Ordner im Dateisystem die Bilder landen. Ideal wäre, wenn die Dateien dann einfach auch ihren Ordnernamen als Tag bekommen.

ronald schrieb

Oder geht es eher darum, dass der Anwender, der die Datei hoch lädt, eine Kategorie auswählen muss?

Nein, es muss so einfach wie möglich sein. Nur ein Hochladen-Button, sonst nichts. Welche Kategorie zugeordnet wird, soll das System aufgrund des Content-Types oder Dateiverzeichnisses entscheiden.

ronald schrieb

Du machst ein Taxonomy-Term-Field zum Mussfeld und bindest einen Taxonomy Katalog daran.

Das bringt mich schon einmal ein Stück weiter. Ich sehe hier zwei Wege, beiden kommen aber noch nicht ganz am Ziel an ;-)

  1. Ich gebe den Dateien selbst ein Taxonomy-Feld mit Standardwert (unter admin/structure/file-types). Das kann ich für jeden File-Type machen, dann werden mime-types kategorisiert (was sie aber eh schon werden). Dann bekommen alle Bilder die gleiche Kategorie. Es bringt hier nichts, ein Feld als Pflicht zu definieren, da beim Hochlade-Button keine Möglichkeit zur Kategorieauswahl existiert. Wie bringe ich nun Drupal dazu, je nach Content Type eine anderen Standard-Wert anzunehmen?
  2. Ich gebe dem Content Type ein Taxonomy-Feld mit Standadwert (admin/structure/types -> Manage Fields). Das verstecke ich dann im Formular. Beim Speichern eines Inhalts wird die Kategorie des Taxonomy-Felds in das Taxonomy-Feld der Datei übertragen. Nur: wie stelle ich das an?
  • Anmelden oder Registrieren um Kommentare zu schreiben

Dafür brauchst du kein Taxonomy

Eingetragen von ronald (3834)
am 13.02.2015 - 13:56 Uhr

Du kannst für jeden content_type ein eigenes Bildfeld anlegen, und diesem einen eigenen Pfad geben.

Nach content_types kannst du immer selektieren.

Taxonomies brauchst du nur, wenn du innerhalb eines content_types weitere Kategorisierungen brauchst.

Insofern läuft eh' alles automatisch.

Dein User schreibt einen Prakatikumsbericht, dann landen diese Bilder unter praktika, er schreibt einen Urlaubsbericht, dann sind die Bilder unter urlaub, etc.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schrieb Nach

Eingetragen von Grom (17)
am 13.02.2015 - 14:21 Uhr
ronald schrieb

Nach content_types kannst du immer selektieren.

Ich will in der Library im Media Browser 2 Ordnung halten. Heißt: wenn ich an anderer Stelle den Media Browser einsetze, sollen dort zum Beispiel keine Benutzerbilder angezeigt werden. Wie kann ich dort nach content_type selektieren? Das scheint mir irgendwie nicht zusammenzupassen, dazu müsste ja im entsprechenden View erst einmal ausgelesen werden, wo die Datei verwendet ist, oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn die File_Fields

Eingetragen von ronald (3834)
am 13.02.2015 - 15:32 Uhr

deines content_types jeweils in ein anderes Verzeichnis schreiben, hast du die Ordnung automatisch.

Für den Mediabrowser nutzen Taxonomies absolut nichts.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schrieb deines

Eingetragen von Grom (17)
am 13.02.2015 - 16:34 Uhr
ronald schrieb

deines content_types jeweils in ein anderes Verzeichnis schreiben, hast du die Ordnung automatisch.

Für den Mediabrowser nutzen Taxonomies absolut nichts.

Ich glaube fast, wir schreiben aneinander vorbei. Ich habe überhaupt keine Ordnung im Media Browser, selbst wenn ich Verzeichnisse benutze. Oder liegt das an den von mir eingesetzten Versionen? Ich benutze Media 7.x-2.0 und File entity 7.x-2.0.

Und klar nutzen mir Taxonomies. Mit Media 2 wird im Media Browser ein View verwendet, das ich nach Taxonomy Terms filtern kann.

Es geht mir ja nicht darum, dass ich als Administrator den Überblick behalte, das ist einfach. Auf der Seite werden potenziell 200 Nutzer in unterschiedlichen Rollen agieren. Und die müssen ohne Schulung den Überblick behalten, weshalb das User Interface möglichst selbst erklärend sein soll.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also doch

Eingetragen von ronald (3834)
am 13.02.2015 - 16:43 Uhr

für jeden Typ Bild einen content_type mit einem Feld für das Bild und einem eigenen Speicherpfad.

Da muss niemand denken, da braucht es keine Tricks und keinen doppelten Boden.

Wenn der richtige content_type verwendet wird, was man auch durch Rechte und mit entsprechenden Menüeinträgen erreichen kann, werden die Bilder entsprechend gespeichert, und sind gezielt selektierbar.

Willst du innerhalb der Typen weiter kategorisieren, kommen eventuell noch Taxonomies zum Zuge, die entsprechen im content_type wählbar sind.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schriebfür jeden Typ

Eingetragen von Grom (17)
am 13.02.2015 - 16:53 Uhr
ronald schrieb

für jeden Typ Bild einen content_type mit einem Feld für das Bild und einem eigenen Speicherpfad.

Klar, das habe ich ja gemacht. Aber wenn ein anderer Benutzer in einer anderen Rolle bei einem anderen Inhaltstyp dann den Media Browser verwenden soll, werden einfach alle Dateien/Bilder angezeigt.

ronald schrieb

fWenn der richtige content_type verwendet wird [...] werden die Bilder entsprechend gespeichert, und sind gezielt selektierbar.

Das ist die Frage: wie kann ich in einem View gezielt die Bilder/Dateien eines bestimmten Speicherpfades selektieren? Und am besten den Filter exposed machen, wobei eine Liste der Speicherpfade zur Auswahl gegeben wird?

Ich werde mal mit dem Computed Field experimentieren, vielleicht hilft das weiter.

  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn du die Bilder nach content_type unterscheidest

Eingetragen von ronald (3834)
am 13.02.2015 - 17:15 Uhr

kannst du gezielt nach diesem content_type selektieren.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ahhh, danke, habe es

Eingetragen von Grom (17)
am 13.02.2015 - 17:33 Uhr

Ahhh, danke, habe es gefunden. Zum Beispiel "File Usage: Entity type". Damit kann ich immerhin die Nutzerbilder ausblenden. Eine Auswahlliste für die Endbenutzer bekomme ich damit zwar nicht hin, aber immerhin schon besser als gar nichts.

Und Filtern nach Content Type geht zumindest dann gut, wenn ich in allen Content Types das gleiche Feld verwende.

Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst entscheiden

Eingetragen von ronald (3834)
am 13.02.2015 - 21:11 Uhr

ob du nach content_type filtern, oder die content_types getrennt verarbeiten willst.

Wenn jeder content_type ein anderes Bildfeld hat, sind die Bilder klar voneinander getrennt, und die Bilder zu den content_types können automatisch in verschiedenen Verzeichnissen gespeichert werden.

Dann hast du deine physische Trennung, die du auch im media-Browser wieder findest.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

ronald schrieb Dann hast du

Eingetragen von Grom (17)
am 13.02.2015 - 21:21 Uhr
ronald schrieb

Dann hast du deine physische Trennung, die du auch im media-Browser wieder findest.

In meinem Media Browser finde ich die physische Trennung nicht wieder. Auf welche Version beziehst Du Dich konkret?

  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn jede Bilderkategorie in einem anderen Verzeichnis liegt

Eingetragen von ronald (3834)
am 13.02.2015 - 21:40 Uhr

findest du es wieder.

Es ist ein wenig mehr Planungs- und Konfigurationsarbeit vorneweg, weil jeder content_type ein eigenes Feld und dafür ein eigenes Uploadverzeichnis braucht.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die content_types sind alle

Eingetragen von Grom (17)
am 13.02.2015 - 21:51 Uhr

Die content_types sind alle entsprechend eingerichtet. Wo genau finde ich das wieder? Kannst Du mal einen Screenshot davon machen, wie das aussehen müsste?

  • Anmelden oder Registrieren um Kommentare zu schreiben

und dann

Eingetragen von ronald (3834)
am 13.02.2015 - 22:15 Uhr

Felderverwaltung

und dann

AnhangGröße
felder.PNG 174.69 KB
folder.PNG 33.77 KB

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank für Deine Mühen.

Eingetragen von Grom (17)
am 13.02.2015 - 22:27 Uhr

Vielen Dank für Deine Mühen. Wir haben uns wohl missverstanden, diese Einstellungen habe ich wie gesagt vorgenommen. Ich meine: wo finde ich diese Struktur im Media Browser wieder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich habe gerade nirgends den Mediabrowser laufen

Eingetragen von ronald (3834)
am 13.02.2015 - 23:20 Uhr

aber dieser zeigt doch die Unterstruktur des files-Verzeichnisses.

Wenn nun jeder content_type ein eigenes Verzeichnis hat, muss ich das doch sehen.

Grüße
Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist dann wohl genau das

Eingetragen von Grom (17)
am 13.02.2015 - 23:52 Uhr

Das ist dann wohl genau das Missverständnis. Der zeigt eben nicht die Unterstruktur des files-Verzeichnisses.

Ich baue mir jetzt ein eigenes Modul, um Dateien automatisch ihr Verzeichnis als taxonomy term zuzuweisen. Ein erster Versuch mit hook_file_presave sieht vielversprechend aus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Erweitere die Filetypes mit

Eingetragen von Tobias Bähr (4019)
am 14.02.2015 - 13:45 Uhr

Erweitere die Filetypes mit einem Termfeld. Dann kannst du beim Upload im Media-Browser diesen Term auswählen. Automatisch diesen zu befüllen, basierend auf den Context, erfordert erhöhtest Know-How. ;-)

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Im Anhang die erste Version

Eingetragen von Grom (17)
am 14.02.2015 - 14:12 Uhr

Im Anhang die erste Version eines Moduls, das genau das macht. (Die Endung habe ich auf txt geändert, weil die Datei sonst im Forum nicht abrufbar war).

Falls noch jemand anderes das brauchen sollte. Tipps nehme ich gern entgegen!

Die zentrale Funktion ist file_taxonomy_file_presave. Alles andere sind nur Hilfsfunktionen oder Moduleinstellungen.

AnhangGröße
file_taxonomy.module.txt 3.71 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal 8: Fußzeilenmenü auf Login-Seite verschwunden
  • Vom jeweiligen User die Kunstwerke ausgeben.
  • Fullcalendar - Grösse Dialogfenster
  • Notify-Modul: Einmalige Benachrichtigung ueber neue Nodes senden
  • [gelöst]Drupal 9 und Ubuntu 20.04
  • [gelöst] Swiftmailer installieren um Simplenews zum Laufen zu bringen
  • Installiert ja, aber kein einziger link funktioniert
  • Drupal 9 - "read more" übersetzen nun anders, nur wie?
  • [gelöst] Nur editierbare Medien in Media-View anzeigen
  • Probleme mit dem Adminmenü
  • Inhalte ändern/erstellen nicht möglich - Problem mit Datenbank-Verbindung?
  • Groups und Drupal 9
Weiter

Neue Kommentare

  • irgendwo wird doch die nutzer
    vor 20 Stunden 50 Minuten
  • inst schrieb Hallo, ich
    vor 20 Stunden 55 Minuten
  • Kein Problem. Ich helfe dir
    vor 2 Tagen 20 Stunden
  • ?????Bahnhof,
    vor 2 Tagen 20 Stunden
  • Wenn du es geschafft hast
    vor 2 Tagen 22 Stunden
  • All-Inkl und Composer 2
    vor 2 Tagen 22 Stunden
  • dinmikkith schrieb xampp auf
    vor 2 Tagen 22 Stunden
  • Ich bin auch bei All-Inkl und
    vor 2 Tagen 22 Stunden
  • Hallo, ok, verstehe. Aktuell
    vor 2 Tagen 22 Stunden
  • d.h. ohne Know How wie z.B.
    vor 2 Tagen 22 Stunden

Statistik

Beiträge im Forum: 246302
Registrierte User: 18907

Neue User:

  • Demophobie
  • JorgeClayton
  • fel

» Alle User anzeigen

User nach Punkten sortiert:
wla9036
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3917
ronald3834
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association