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

Bestimmte Felder aus Beitragsreferenz im Node ausgeben [gelöst]

Eingetragen von Benki (21)
am 07.07.2010 - 15:30 Uhr in
  • Views
  • Drupal 6.x

Hallo Leute,

ich habe eine Konstellation, wo mehrere Nodes auf den selben Inhalt zugreifen müssen, der sich aber ständig verändert. So möchte ich das natürlich nur zentral ändern und nicht in jeden Node hineingehen müssen.

Über die Beitragsreferenz klappt das mit der Node-Überschrift auch schon, aber ich benötige den Inhaltstext des Referenzbeitrages und nicht den Titel. Ich habe einen View erstellt, der auch das Richtige in der Vorschau schon anzeigt. Ich vermute es ist nur eine Kleinigkeit und ich habe die Referenz nicht richtig mit dem View verbunden oder der View ist falsch eingestellt.

1. Was muss ich wo einstellen, um den Inhaltstext des Referenzbeitrages im eigentlichen Node darzustellen?
2. Kann ich die Verlinkung auf den Referenzbeitrag irgendwo deaktivieren?
3. Aus dem Node wird ein Kalendereintrag erstellt, der sich im Kalender natürlich immer mit ändern soll. Wie wird generell ein Node aktualisiert, wenn eine Verknüpfung zu einem "externen" Node (Referenzartikel) besteht? Wird das bei Aufruf des eigentlichen Nodes aktualisiert oder beim Abspeichern der Änderungen des Referenznodes? wenn ich die "Haupt"-Nodes ändere, sind die Änderungen im Kalender sofort sichtbar, aber wie verhält es sich mit den Referenznodes?

Danke vorab!!!
Grüße! Benki

‹ CCK Felder ein- und ausblenden Beitrag der gerade angezeigt wird ausblenden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

1. Gehe nach

Eingetragen von Exterior (2903)
am 07.07.2010 - 16:01 Uhr

1. Gehe nach admin/content/types und klicke beim Inhaltstyp mit dem NodeReference-Feld auf "Felder anzeigen". Dort stellst du dann bei beiden Feldern ("Anrisstext" und "Vollständiger Beitrag") den Wert "Vollständiger Beitrag" ein. Dann wird dir der gesamte referenzierte Node mit ausgegeben.

2. Verstehe ich nicht, was meinst du genau?

3. Verstehe ich auch nicht so richtig. Ein Node wird aktualisiert, wenn man ihn eben bearbeitet. Wenn du den Node mit dem Nodereference-Feld bearbeitest, wird dieser Node aktualisiert und wenn du den referenzierten Node bearbeitest, wird eben dieser Node aktualisiert. Sorry, aber ich weiß nicht so recht, was du meinst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Fast gelöst :-)

Eingetragen von Benki (21)
am 07.07.2010 - 16:56 Uhr

1. Das war ja einfach. Das kannte ich noch gar nicht. Funktioniert. Super :-)
2. ich meine den Link auf den Referenzartikel. Es soll nur der reine Beitragstext ausgegeben werden. mehr nicht, kein Titel, kein Link. Gibt es da eine Funktion für, oder muss ich das Feld im Layout ausblenden?
3. also es läuft ein Kalendermodul. Die einzelnen Nodes sind die Termine. Die Nodes bekommen ja jetzt Informationen aus dem Referenzartikel. Wenn ich einen Node (also auch einen Termin) ändere, ist die Änderung direkt im Termin sichtbar. Allerdings mit dem Referenzartikel ändere ich ja jetzt nur indirekt den Inhalt der Termin-Nodes. Wird also beim Abspeichern des Referenz-Nodes die Information in die Hauptnodes geschrieben oder rufen die bei jedem Aufruf den Inhalt der Referenz ab?

Dankeeee

  • Anmelden oder Registrieren um Kommentare zu schreiben

1. Dann ist ja alles klar 2.

Eingetragen von Exterior (2903)
am 07.07.2010 - 17:31 Uhr

1. Dann ist ja alles klar

2. Mmmh, den bekommst du wahrscheinlich am ehesten mit Theming weg.
dafür gäbe es zwei Möglichkeiten:

--> Möglichkeit 1:
Du erstellst eine spezielle node.tpl.php für den Inhaltstyp, auf den referenziert wird und gibst dort nur dann den Titel aus, wen $page auf 1 steht, also so hier:

<?php if ($page == 1): ?>
  <h2 class="title"><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2>
<?php endif;
//eigentlich steht oben $page == 0 --> auf $page == 1 ändern?>

Damit wird der Titel nur ausgegeben, wenn der Node als eigene Seite ausgegeben wird.

--> Möglichkeit 2:
Du erstellst eine extra node.tpl.php für den Inhaltstyp, der die NodeReference-Felder enthält.

Dort kannst du direkt auf das Node-Referenz-Feld zugreifen. Darin sind die Node-IDs der referenzierten Nodes gespeichert. Also kann man die ID nehmen, den entsprechenden Node laden und dann gezielt Felder des referenzierten Nodes ausgeben, köönte so aussehen:

<?php
//So sieht es standardmäßig aus:
print $content;

//So kann man es machen
//Inhalt des Nodes ausgeben
print $content;

//Inhalte der referenzierten Nodes ausgeben:
foreach($node->field_nodereference_feld as $key => $value){
//kleinen Abstand zwischen die einzelnen Inhalte bringen
print '<br /><br /><br />';

//Body des referenzierten Nodes ausgeben:
$ref_node = node_load($value['nid']);
print
$ref_node->body;
}
?>

Im Foreach-Abschnitt "wandert" Drupal durch das Array "$node->field_nodereference_feld" (welches weitere Arrays enthält) und speichert immer das aktuelle Array in eine Variable.
Dann kann man sich immer aus dieser Variable die Node-ID nehmen, den Node laden und wie ein ganz normales Node-Objekt behandeln und Felder ausgeben.

mit spezieller node.tpl.php meine ich übrigens folgendes:
http://www.drupalcenter.de/handbuch/4287

Zu deinem 3. Punkt:
In dem Node mit den Referenz-Feldern werden nur die Node-IDs der referenzierten Nodes gespeichert, keine Daten aus diesen Nodes. Das heißt, die referenzierten Nodes sind werden bei einer Ausgabe immer frisch aufgerufen und ausgelesen. Wenn du also einen referenzierten Node änderst, sind diese Änderungen auch sofort in den Nodes ersichtlich, die auf diesen Node referenzieren und Felder von ihm ausgeben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Probiere ich aus. Vielen

Eingetragen von Benki (21)
am 07.07.2010 - 17:49 Uhr

Probiere ich aus.

Vielen Dank für die schnelle Hilfe!

Jetzt muss ich das Trikot anziehen ;-)))

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • wmtbpo361x
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
Weiter

Neue Kommentare

  • Rollen
    vor 5 Tagen 22 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 3 Tagen
  • melde mich mal wieder, da ich
    vor 10 Wochen 12 Stunden
  • Hey danke
    vor 10 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 10 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 3 Tagen
  • In der entsprechenden View
    vor 11 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250239
Registrierte User: 20467

Neue User:

  • LorisBen
  • StevenEness
  • ocvk2810

» Alle User anzeigen

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