Startseite
  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › CCK und Views ›

[gelöst] Nodereference - auch mit noch nicht existierenden Nodes

Eingetragen von straight-shoota (8)
am 12.03.2010 - 17:53 Uhr in
  • CCK und Views
  • Drupal 6.x

Hallo,
ich suche nach einer Möglichkeit, ein CCK-Feld zu erstellen, dass zwar grundsätzlich auf andere Nodes verweist (=Nodereference), aber es soll auch möglich sein, kein Referenz auf einen anderen Node sondern lediglich einen Titel einzutragen.
Konkret geht es um die Realisierung eines Terminkalenders, bei dem es zu jedem Termin die Felder Veranstalter und Ort gibt. Analog gibt es auch entsprechende Inhaltstypen, die sich dem Termin zuweisen lassen. Das ganze soll aber möglichst flexibel sein und ich möchte auch einen Ort eintragen können, der (noch) nicht als Node existiert und evtl gar nicht zu existieren braucht, also quasi nur die Bezeichnung.

Meine momentane Lösung besteht einfach aus einem Textfeld, in dem der Name des Veranstalters bzw. Ortes eingegeben werden kann und bei der Darstellung wird gesucht, ob ein entsprechender Node mit diesem Titel existiert und dieser dann verlinkt:

<?php
$venue
= node_load(array('title' => $node->field_venu[0]['view'], 'type' => 'venue'));
if(
$venue){
    print
l($venue->title, $venue->path);
}else{
    print
$node->field_ort[0]['view'];
}
?>

Natürlich ist das jetzt erst mal recht primitiv, aber auf diese Weise lassen sich z.B. auch weitere Infos direkt einbinden, z.B. die Adresse des Veranstaltungsortes (CCK-Field in Ort-Nodes). Oder wenn ein entsprechender Node nicht existiert, lässt sich für User mit entsprechenden Rechten ein Link anzeigen, um den Node zu erstellen (per Prepopulate).
Das ganze ist eigentlich recht simpel aber dadurch eigentlich auch ziemlich gut und flexibel: wenn ein Node mit dem entsprechenden Titel in der Zwischenzeit angelegt oder auch gelöscht wurde, hat das direkt Einfluss auf die Darstellung. Aufgrund der Simplizität mag ich es sogar sehr =)
Diese Methode bietet mir zunächst mal genau die Funktionsweise, die ich möchte, aber es gibt auch ein paar Kritikpunkte:

  • Da die Verbindung zum verlinkten Node nur zur Darstellung "erzeugt" (bzw. vielmehr vorgegaukelt) wird, ist sie nicht direkt in der Datenbank vorhanden, was die Verwendung in Views einschränkt.
  • Die Performance leidet auch darunter, dass bei jeder Darstellung alle verlinkten Nodes aus der Datenbank gelesen werden müssen. Oder ist das vernachlässigbar? Kann ich schlecht einschätzen...
  • Letzter Kritikpunkt ist die nur teilweise Funktionsfähigkeit von Autocomplete. Es werden zwar die Titel angezeigt, die bereits in anderen Terminen eingetragen worden sind, aber Veranstalter-Nodes, die nocht nicht verwendet werden, fehlen in der Liste. Dadurch kann es bei unterschiedlichen möglichen Schreibweisen zu ungewollten Dopplungen kommen.

Daher möchte ich einfach mal die Frage in die Runde stellen, ob sich jemand eine andere Herangehensweise vorstellen kann oder sogar eine passende Lösung existiert (hab in der Moduldatenbank aber nichts gescheites gefunden). Oder gibt es Vorschläge, meinen Weg zu verbessern und die obengenannten Kritikpunkte zu beseitigen?

‹ [gelöst] CCK, bedingte Pflichtfelder Adsense in Kategorie-Ansicht (Views) an 2. Stelle einbauen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Falsche Begriffe?

Eingetragen von r4s6 (1381)
am 12.03.2010 - 19:38 Uhr

http://drupal.org/project/modules?text=create%20and%20reference

Die ersten 2 oder 3 Module auf dieser Seite dürften dein Problem lösen. das 1. habe ich mal angetestet und scheint wirklich sehr komfortable Möglichkeiten zu bieten.

Gruss Roger

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Falsche Begriffe!

Eingetragen von straight-shoota (8)
am 12.03.2010 - 20:15 Uhr

:o Öhm ja, scheint so, als hätte ich mich da zu sehr auf eine Idee fixiert, dass ich rundherum nix gesehen habe :)

Herzlichen Dank fürs mit der Nase draufstoßen :D

Werde Node Relationships mal ausprobieren, aber das scheint tatsächlich geeignet zu sein. Einziger Wehmutstropfen ist die damit einhergehende Komplexität, da mag ich meine nette kleine Lösung fast lieber...*g*

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nur halb so schlimm!

Eingetragen von r4s6 (1381)
am 12.03.2010 - 20:50 Uhr
straight-shoota schrieb

Einziger Wehmutstropfen ist die damit einhergehende Komplexität, da mag ich meine nette kleine Lösung fast lieber...*g*

Das sieht koplexer aus als es ist, bringt dich recht schnell, sehr nahe an deine Lösung. Ausserdem kannich dir zum Einstieg noch dieses empfehlen: http://cocoate.com/de/2009/08/16/beziehungen-zwischen-inhalten-das-modul...
Ist zwar ein etwas anderes Thema aber erklärt die Möglichkeiten des Moduls recht gut.

Gruss Roger

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Fataler Fehler nach update auf Drupal 6.24 wg fehlender Funktion in image.inc
  • meine Profilbesucher anzeigen?
  • Computed_Field Node Objekt bzw. nid?
  • URLs: Groß- und Kleinschreibung
  • Rules und Organic Group
  • [erledigt] drupal 7 - read more ausblenden
  • Modul für Absatznummern / Randnummern
  • Path-Based Metatags - wofür sind die gut?
  • Views Field Language (Spracherkennung der Felder) funktiniert nicht
  • [gelöst] Danland: Standard-Startseite formatieren
  • Aggregator Modul lässt sich nicht konfigurieren
  • Views Accordion - Header Elemente nebeneinander
Weiter

Neue Kommentare

  • Problem gelöst
    vor 1 Stunde 9 Minuten
  • ich könnte mir vorstellen
    vor 1 Stunde 9 Minuten
  • Ja und wie greife ich da auf
    vor 1 Stunde 18 Minuten
  • Unser Server kann das. Ich
    vor 1 Stunde 32 Minuten
  • Modul "User Relationships"
    vor 1 Stunde 32 Minuten
  • Ist der Host ein Windows-Host?
    vor 1 Stunde 39 Minuten
  • Du läßt Dir in der Zeile die
    vor 1 Stunde 45 Minuten
  • Patch aus Issue Queue
    vor 2 Stunden 7 Minuten
  • "Read more"-Link modifizieren
    vor 2 Stunden 11 Minuten
  • CSS mit body-Tag-Klasse präzisieren
    vor 3 Stunden 4 Minuten

Statistik

Beiträge im Forum: 173993
Registrierte User: 15484

Neue User:

  • Spearoth
  • bwvebb
  • drupal4normi

» Alle User anzeigen

User nach Punkten sortiert:
stBorchert5516
quiptime4713
Tobias Bähr3874
wla3809
md3777
bv3700
Thoor3678
Alexander Langer3282
dereine2635
Exterior2571
» User nach Punkten
Zur Zeit sind 7 User und 42 Gäste online.

Benutzer online

  • Antonio
  • Spearoth
  • Carsten Logemann
  • StevenB
  • CWorks
  • joeking
  • johnny doe

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Ü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
  • Bücherecke

Quicklinks III

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

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed Drupal Podcast
  • 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