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

NodeReference rückwärts?

Eingetragen von kev52 (423)
am 15.09.2007 - 00:31 Uhr in
  • Views
  • Drupal 5.x

Ich arbeite zur Zeit viel mit dem CCK Nodereference Funktionen. Meine Frage. Erkennt ein Node, dass er von einem anderen referenziert wurde?

Ich würde gerne einen View erstellen, der alle Nodes zeigt, die NICHT von einem bestimmten Nodetyp referenziert wurden. Quasi jeder Node vom Typ A, der NICHT durch einen Node vom Typ B referenziert wurde. Geht so etwas?

‹ Filter in Views CCK Multiple Textfields ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich weiß nicht, ob es mit

Eingetragen von Alexander Langer (3416)
am 15.09.2007 - 14:33 Uhr

Ich weiß nicht, ob es mit Views geht, aber mit ner SQL-Abfrage gehts natürlich.

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

quasi dann direkt in die

Eingetragen von kev52 (423)
am 16.09.2007 - 13:59 Uhr

quasi dann direkt in die tpl.php oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Z.B., ja. "I invented the

Eingetragen von Alexander Langer (3416)
am 17.09.2007 - 08:49 Uhr

Z.B., ja.

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst ein View

Eingetragen von Devr@drupal.org (12)
am 17.09.2007 - 09:19 Uhr

Du kannst ein View erstellen, der einen Filter für die Ergebnisse beinhaltet (Node Typ ist KEINES von Typ A) und ein Argument hinzufügen (Nodereference: Field_XY), das mit dem Argument Handling Code "$args[0] = arg(1);" die entsprechende Liste von Nodes zurückliefert.

Beispiel: meine Redakteure stellen Artikel von Autoren ein, es gibt einen Nodetyp Artikel und einen Autor. (Die User sind in meinem Fall keine Autoren sondern Redakteure!) Im Nodetyp Artikel werden via CCK Nodereference Autoren-Nodes verlinkt. Ich habe mit oben beschriebenem View einen Block an den Nodetyp Autor gehängt, der beim Aufruf eines Autoren-Nodes alle Artikel liefert, die von dem entsprechenden Autor verfaßt wurden.

Ich habe nun eher das Problem anders herum: Ich brauche ein View, daß mir die Felder von Nodetyp Autor zurückliefert, wenn ich den Nodetyp Artikel aufrufe (also nicht nur ein Reference-Link). Vgl. http://www.drupalcenter.de/node/5330 - leider hat da bisher niemand eine Antwort :-(

Hoffe das war, was Du meintest,
Gruß Devr

  • Anmelden oder Registrieren um Kommentare zu schreiben

Über die NodeID des

Eingetragen von Alexander Langer (3416)
am 17.09.2007 - 10:19 Uhr

Über die NodeID des referenzierten Autors den Autor-Node laden und darstellen. Das ist nun wirklich eine eher triviale Übung. Oder habe ich etwas falsch verstanden?

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Möglicherweise ist das

Eingetragen von Devr@drupal.org (12)
am 18.09.2007 - 13:07 Uhr

Möglicherweise ist das trivial, aber ich bin neuer Drupal User und finde mich in das System gerade erst ein:

Was funktioniert ist:
Filter: nach Typ der Childnode
Argument: Node ID
$args[0] = 3; // 3 ist die nid der in der Parentnode referenzierten Childnode

Was ich leider nicht hinbekomme:
die nid der Childnode dynamisch aus der Parentnode auslesen. Ich dachte das ginge mit:
$args[0] = $node->field_irgendsoeinereferenz[0]['nid'];

Grüße, Devr

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst den View nicht

Eingetragen von Alexander Langer (3416)
am 18.09.2007 - 17:00 Uhr

Du kannst den View nicht allein übers Mausschubsen so detailliert gestalten. Du hast aber verschiedene Möglichkeiten ihn über eine eigene TPL-Datei, oder die template.php zu themen, oder aber auch erst im der node-xyz.tpl.php des vom View ausgelieferten Node Typs.

Darin kannste dann entsprechend auf die NID des referenzierten Nodes zugreifen und den Node laden:

$child = node_load($node->field_haumichblau[0]['nid']);

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Funktion node_load() war

Eingetragen von Devr@drupal.org (12)
am 19.09.2007 - 10:03 Uhr

Die Funktion node_load() war mir bis dato unbekannt, hatte ich zwischenzeitlich aber schon gefunden.

$node = node_load(arg(1));
$args[0] = $node->field_referenz_zu_childnode[0]['nid'];

Funktioniert soweit auch via Views ohne Eingriff in die Templates, mit dem Nachteil, daß keine multiblen Referenzen angezeigt werden.

pebosi hat noch einen interessanten Ansatz via viewfield angeregt, den ich parallel verfolgen werde, siehe http://www.drupalcenter.de/node/5330

Gruß, Devr

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich bin da mehr ein Freund

Eingetragen von Alexander Langer (3416)
am 19.09.2007 - 10:35 Uhr

Ich bin da mehr ein Freund des Codes. Als Software-Entwickler fühle ich mich da wohler, als in einem Mischmasch aus Klickibunti mit Code. Daher auch meine Abneigung gegen Contemplate ;)

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

Von Klickibunti kann doch

Eingetragen von pebosi (2645)
am 19.09.2007 - 10:53 Uhr

Von Klickibunti kann doch bei Contemplate nicht die Rede sein, dort machst du doch nichts anderes als mit einer neuen node-typ.tpl.php Datei.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

also irgendwie passt es

Eingetragen von kev52 (423)
am 20.09.2007 - 23:31 Uhr

also irgendwie passt es einfach nicht! laufen soll es im grund so:

1. ein admin erstellt eine liste themen

2. nun kann man als user sagen, okay ich will ein thema nehmen. er geht auf "Thema erstellen" und dort bekommt er eine Liste der Themen. Wenn er nun eines wählt, soll es eben für andere nicht mehr möglich sein das zu tun. Sprich alle Themen die referenziert wurden sollen aus der Auswahlliste wegfallen.

wie in etwa muss ich da ran gehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

gibt es da keinen Ansatz

Eingetragen von kev52 (423)
am 22.09.2007 - 12:15 Uhr

gibt es da keinen Ansatz oder hab ich mich zu ungenau ausgedrückt?

  • Anmelden oder Registrieren um Kommentare zu schreiben

pebosi wrote:

Eingetragen von Alexander Langer (3416)
am 22.09.2007 - 13:57 Uhr
pebosi schrieb

Von Klickibunti kann doch bei Contemplate nicht die Rede sein, dort machst du doch nichts anderes als mit einer neuen node-typ.tpl.php Datei.

Das ist richtig, aber ich halte niht viel davon das Layout in einem Mischmasch aus DB-basiertem Code (via Contemplate) und Datei-basiertem Code wie TPL-Dateien zu beeinflussen. Wenn da niht sauber dokumentiert sucht man sich später mal nen Wolf und die beste Doku ist die, die nicht erstellt werden muss. "Convention over configuration", wie man u.a. bei Smalltalk und Ruby sagt.

@kev52:
Du hast doch über SQL alle Freiheiten, die du brauchst. Du lässt dir eine Liste der Themen liefern und gleichst die mit der Liste der vergebenen Themen ab. Man kann es über "SELECT ... WHERE ... NOT IN (...)" machen, oder vermutlich auch eleganter, aber mein SQL ist etwas eingerostet ;)

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -Alan Kay

  • Anmelden oder Registrieren um Kommentare zu schreiben

dann werd ich das so machen,

Eingetragen von kev52 (423)
am 22.09.2007 - 14:32 Uhr

dann werd ich das so machen, hatte nur gehofft, es gibt da eine Variante die über Views geklärt werden könnte. Danke an alle die sich Gedanken gemacht haben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Recherche bei drupal.org

Eingetragen von rokr (593)
am 22.09.2007 - 21:26 Uhr

Hast du es schon mal so versucht? http://drupal.org/node/161867
Ich werde es auch bald brauchen, kann aber noch ein paar Stunden/Tage dauern. :-)

ciao, Ronald

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Vergleich Drupal und Contao
  • DrupalCamp Frankfurt 27-28 November 2026
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
Weiter

Neue Kommentare

  • Moin
    vor 2 Stunden 18 Minuten
  • Drupal-Contao-Vergleich ist nicht einfach
    vor 22 Stunden 6 Minuten
  • Hab ich installiert find ich
    vor 5 Tagen 4 Stunden
  • Gefunden
    vor 9 Wochen 6 Tagen
  • Vielen Dank für die ausführlichen Hinweise...
    vor 10 Wochen 3 Tagen
  • Mögliche Ursachen und nächste Schritte
    vor 10 Wochen 3 Tagen
  • Was für einen Server benutzt
    vor 12 Wochen 6 Tagen
  • Wenn die Subdomain auf
    vor 13 Wochen 1 Tag
  • ordnerstruktur
    vor 13 Wochen 1 Tag
  • Die Subdomain muß auf den
    vor 13 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250302
Registrierte User: 20552

Neue User:

  • tschero
  • Roberttop
  • levmyshkin

» Alle User anzeigen

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