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

Dateien einem Node zuordnen

Eingetragen von gutekunst (174)
am 10.05.2014 - 08:49 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hi,

folgende Problemstellung: Es gibt einen Node "Wettbewerb A" nun sollen User die Möglichkeit haben Fotos upzuloaden die dann automatisch Node A zugeordnet werden und dann über ein View angezeigt werden können. Mit welchen Modulen ließe sich das lösen? Mein Ansatz wäre jetzt einen weiteren Inhaltstyp "Fotos zu Wettbewerb A" zu erstellen und dort einen festen Taxonomyterm "Wettbewerb A" zu setzen. Den müsste ich aber für die User am Besten irgendwie ausblenden. Oder gibts eine Möglichkeit, dass User zu einem bereits erstellten Node noch Fotos hochladen können?

LG

‹ Titelgröße beim Modul "shoutbox" ändern mehrere Module gleichzeitig updaten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Mittels entityreference und

Eingetragen von wla (9215)
am 10.05.2014 - 09:00 Uhr

Mittels [do:entityreference] und [do:entityreference_prepopulate] kannst Du die Bild-Nodes mit dem Wettbewerb verknüpfen. Die lassen sich auch über Views zum Wettbewerb anzeigen.

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schriebMittels

Eingetragen von gutekunst (174)
am 10.05.2014 - 10:03 Uhr
wla schrieb

Mittels [do:entityreference] und [do:entityreference_prepopulate] kannst Du die Bild-Nodes mit dem Wettbewerb verknüpfen. Die lassen sich auch über Views zum Wettbewerb anzeigen.

Danke für den Hinweis! Verstehe nur nicht ganz wie ich das Einrichte. Habe nun dem Inhaltstyp "Wettbewerb A"ein entity field hinzugefügt und dort als Zieltyp den Inhaltstyp "Fotos zum Wettbewerb A" hinzugefügt. War das korrekt?

UPDATE: Ok ich denke richtig ist es genau andersherum. D.h. ich adde dem Inhaltstyp "Fotos von Wettbewerb A" ein entity field mit dem Zieltyp "Node" und wähle dort dann "Wettbewerb A" aus. Nun ist nur noch die Frage wie bekomm ich das View so hin, dass es automatisiert immer die Fotos die dem gerade aufgerufenen Node zugeordnet sind anzeigt. Über Relations?

Update 2: Gibts eine Möglichkeit, dass die User dieses entity field nicht beim Erstellen des Nodes sehen? Da könnten die ja sonst sonstwas eintragen... ungut!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bei den Beziehungen

Eingetragen von wla (9215)
am 10.05.2014 - 09:57 Uhr

Bei den Beziehungen (Relationship) kannst Du bei einer Referenz aussuchen in welcher Richtung die Beziehung wirken soll also entwerden auf alle Elemente, die referenzieren oder auf alle, die referenziert werden. Einfach mal damit experimentieren.

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schriebBei den

Eingetragen von gutekunst (174)
am 10.05.2014 - 10:08 Uhr
wla schrieb

Bei den Beziehungen (Relationship) kannst Du bei einer Referenz aussuchen in welcher Richtung die Beziehung wirken soll also entwerden auf alle Elemente, die referenzieren oder auf alle, die referenziert werden. Einfach mal damit experimentieren.

Danke werds mal versuchen! Aber schlussendlich muss zusätzlich zur Beziehung einen Kontextfilter setzen oder?

Gibts eine Möglichkeit, dass die User dieses entity field nicht beim Erstellen des Nodes sehen? Da könnten die ja sonst sonstwas eintragen... ungut!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, das View habe ich nun

Eingetragen von gutekunst (174)
am 12.05.2014 - 22:33 Uhr

Hi,

das View habe ich nun hinbekommen! Man muss die Relation (Beziehung) " Entity Reference: Entität, die verweist " setzen und als Kontextfilter nehme ich die Node-ID aus der url.

Nun stellen sich mir noch folgende Fragen:

a) Wenn ich nun einen Wettbewerb B erstelle muss ich leider ja auch einen neuen Inhaltstyp "Fotos zu Wettbewerb B" erstellen und in diesem dann die entity_reference auf "Wettbewerb B" setzen, damit die Fotos korrekt zugeordnet werden. Gibts eine Möglichkeit das zu automatisieren? Z.B. die entity_reference automatisch setzen je nachdem von welchem Node aus z.B. "Wettbewerb B" der User sein Foto hochlädt.

Hoffe ich habe mich verständlich ausgedrückt?!

b) Gibt es eine einfache Lösung bestimmte Felder während der Node Erstellung für den User auszublenden?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Inhaltstyp sollte für

Eingetragen von wla (9215)
am 13.05.2014 - 08:37 Uhr

Der Inhaltstyp sollte für alle Wettbewerbe gleich sein. Durch die Referenz auf den Wettbewerb kannst alle Fotos selektieren, die zu einem bestimmten Wettbewerb gehören.

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

wla schrieb Der Inhaltstyp

Eingetragen von gutekunst (174)
am 13.05.2014 - 10:40 Uhr
wla schrieb

Der Inhaltstyp sollte für alle Wettbewerbe gleich sein. Durch die Referenz auf den Wettbewerb kannst alle Fotos selektieren, die zu einem bestimmten Wettbewerb gehören.

Ja für die Wettbewerbe gibts ein Inhaltstyp, aber für die Fotos brauch ich jeweils einen neuen Inhaltstyp oder:

Denn ich ich muss doch die Referenz zum "Wettbewerb A2 des Nodes "Fotos zu Wettbewerb A" beim Erstellen selbst festlegen (Ich kann das nicht den Usern überlassen) bzw. ich wähle bei diesem Inhaltstyp einen Standardwert aus z.B. Wettbewerb A und blende das Feld während der Node-Erstellung aus. D.h. alle "Fotos zum Wettbewerb A"-Nodes werden Wettbewerb A zugeordnet.

Nun kommt aber Wettbewerb B ins Spiel... Nun kann ich ja schlecht den Inhaltstyp "Fotos zu Wettbewerb A" auf die Referenz "Wettbewerb B" setzen, sondern müsste einen neuen Inhaltstyp "Fotos zu Wettbewerb B" erstellen. Oder hab ich da nen denkfehler?

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Inhaltstyp ist

Eingetragen von wla (9215)
am 13.05.2014 - 13:46 Uhr

Der Inhaltstyp ist "Wettbewerbsfoto". Bei der Erstellung wird automatisiert die Referenz eingetragen und gut ist. Über das wie kann man sich dann noch Gedanken machen. Da gibt es einmal verschiedene Prepopulate Module, mit denen man das Feld vorausfüllt. Über einen hook_form_alter könnte man darüber hinaus das Feld auf nicht beschreibbar setzen. Es braucht also nur einen Inhaltstyp.

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry dein Tipp ganz am

Eingetragen von gutekunst (174)
am 13.05.2014 - 20:23 Uhr

Sorry dein Tipp ganz am Anfang mit dem prepop-Modul hatte ich ganz übersehen!

Wie funktionieren diese Prepopulate Module? Aus der url "node/add/wettbewerbsfoto" die ich auf den Nodes der Wettbewerbe, A, B etc. verlinke als "add photo" kann ja nicht der Wettbewerbsname entnommen werden, sondern die url bleibt ja für jeden Wettbewerb gleich?

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super Sache! Ich kann nur

Eingetragen von gutekunst (174)
am 13.05.2014 - 21:15 Uhr

Super Sache! Ich kann nur dieses Video empfehlen:

https://www.youtube.com/watch?v=z9C4Uf6euLY

hier wirds gut erklärt! Ich habe die Sache nun auch hinbekommen, allerdings funktioniert es nur per NodeID gibts eine Möglichkeit, dass er auch aus dem Nodetitel die entity-reference setzt?

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und noch eine Frage in Bezug

Eingetragen von gutekunst (174)
am 10.08.2014 - 11:20 Uhr

Und noch eine Frage in Bezug entity reference. Gibt es die Möglichkeit dass wenn eine bestimmte reference vorliegt in meinem Fall eine bestimmte Node-Id dass ein Feld im add/node Formular ein oder ausgeblendet wird? D.h. wenn Leute von Node X kommend ein neuen content erstellen sollen andere Felder ausgefüllt werden als wenn sie vom node y kommen...

Lg

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das wirst Du vermutlich

Eingetragen von wla (9215)
am 10.08.2014 - 12:07 Uhr

Das wirst Du vermutlich selbst codieren müssen. Du könntest in einem eigenen Modul oder in der template.php des eigenen Themes die Funktion hook_form_alter implementieren. Damit kannst Du Eingabeformulare, die Drupal ausliefert, vor der Anzeige modifizieren, also Felder ausblenden oder vor ausfüllen. Dazu mußt Du Dich allerdings in die Drupal Form-API einarbeiten, damit Du die Struktur eines Drupal Formulars verstehst, um es korrekt ändern zu können.

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,ich habe noch eine Frage

Eingetragen von gutekunst (174)
am 27.09.2014 - 11:22 Uhr

Hi,

ich habe noch eine Frage zu dieser Thematik. Ich habe jetzt zwei Inhaltstypen denen mittels der entity-reference nodes zugeordnet werden. Wie könnte ich dafür sorgen, dass entweder nach einer bestimmten Zeit, oder eben manuell keine weitere Zuordnung für diese entity-reference mehr zulässig ist? Sprich z.B. Wettbewerb 1 werden Nodes (Fotos) zugeordnet wenn der vorbei ist sollte das jedoch am besten automatisch nicht mehr möglich sein.
LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hänge in das entsprechende

Eingetragen von wla (9215)
am 27.09.2014 - 11:30 Uhr

Hänge in das entsprechende Formular eine eigene Validierungsroutine, die feststellt, ob die Referenz noch erlaubt ist. Auch diese Funktion müßtest Du selbst schreiben, hast aber dann alle Möglichkeiten. In dieser Routine könntest Du den Referenznode laden und dort vorhandene Informationen auswerten. Falls der inzwischen geschlossen ist (das könnte etwa an einem Boolean-Feld festgemacht sein), gibst Du eine Fehlermeldung zurück. Dann wird dieses Foto nicht mit dieser Referenz gespeichert.

.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • DDEV: Website vom lokalen Server auf Webspace übertragen
  • MariaDB 10.6
  • Wie kann man die Ansicht der Benutzer erweitern?
  • (Gelöst) SIMPLE XML SITEMAP liefert die Sitemap für das Menü nicht aus
  • Entity Reference - Title Felder werden als Link angezeigt
  • PHP 8.1 - Deprecated function: rtrim()
  • Preloader / Spnner entfernen Menu Link Modal-Modul
  • Schriftgröße standard einstellen
  • Drupal Website gestalten
  • Tokens werden in Viev als Link angezeigt
  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
Weiter

Neue Kommentare

  • Hallo Werner, super, vielen
    vor 13 Stunden 50 Minuten
  • Du mußt die Struktur
    vor 20 Stunden 37 Minuten
  • Ergebnis des upgrade
    vor 1 Tag 14 Stunden
  • Danke, funktioniert einwandfrei!
    vor 1 Tag 15 Stunden
  • Bei Drupal 7 war diese Seite
    vor 1 Tag 16 Stunden
  • Es ist ein Paragraph
    vor 2 Tagen 17 Stunden
  • Danke fürs Feedback. Gut dass
    vor 5 Tagen 10 Stunden
  • Patch angewandt
    vor 5 Tagen 13 Stunden
  • core_version_requirement: ^8
    vor 1 Woche 14 Stunden
  • core_version_requirement: ^8
    vor 1 Woche 14 Stunden

Statistik

Beiträge im Forum: 247875
Registrierte User: 19594

Neue User:

  • Davidsnins
  • kudes
  • Tkakah

» Alle User anzeigen

User nach Punkten sortiert:
wla9215
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 10 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