Einzelne Felder aus Nodes in andere Nodes übernehmen
am 07.09.2009 - 15:45 Uhr in
Hallo,
ich habe einen Inhaltstyp "Einrichtung" erstellt, der neben anderen die Felder Titel, Ort und Straße enthält.
Dann habe ich einen weiteren Inhaltstyp "Veranstaltung" erstellt, bei dem ich als Veranstaltungsort auf vorhandene Einrichtungen referenzieren möchte.
Das gelingt mir auch mit dem Node-Reference-Feld, allerdings kann ich dabei nur den (verlinkten) Titel oder die kompletten Node einfügen.
(Wie) Ist es möglich, nur einzelne Felder (also z.B. Titel, Straße und Ort, aber nicht Telefon und Fax) zu übernehmen?
Für das Auswahlfeld bei der Node-Reference kann man ja eine View als Quelle angeben, aber in der Ausgabe bekomme ich auch dann nur den Titel oder die gesamte Node.
Danke
Michael
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn du den Inhaltstyp
am 07.09.2009 - 16:36 Uhr
Wenn du den Inhaltstyp "Veranstaltung" bearbeitest, siehts du oben einen Reiter "Felder anzeigen". Dort kannst du einzelne Felder für die Teaser- und/oder Gesamtansicht eines Nodes, deaktivieren. (Exclude anklicken)
vg
--
md - DrupalCenter.de
mdwp*
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Felder übernehmen
am 07.09.2009 - 17:36 Uhr
Danke,
Ich hoffe, ich verstehe richtig was Du meinst. Ich kann zwar die Teaser-Einstellung für die Einrichtung reduzieren, aber dann wird sie ja auch in anderen Übersichten so reduziert angezeigt.
Ich will die Einrichtungsnodes und auch die Teaser ja normal verwenden können.
Was ich suche, ist eine Möglichkeit, nur drei Felder in die Veranstaltung zu übernehmen, OHNE die Sichtbarkeit der sonstigen Felder für die Node grundsätzlich auszublenden.
z.B. will ich mit der Node-Referenz den verlinkten Titel (aber nicht als Überschrift ausgezeichnet), den Ort und die Straße einbinden. Aber wenn ich den Teaser woanders verwende, soll noch ein Bild, der Stadtteil etc. erscheinen und der Titel soll als H1 ausgezeichnet sein.
Gruß
Michael
Eine Lösung
am 08.09.2009 - 11:53 Uhr
Nach langen Suchen habe ich selbst einen Lösung gefunden.
Ich verwende ein Computed Field mit folgendem Code
<?php if ($node->field_einrichtung[0][nid]){
$node_field[0]['value'] ='<a href="'.$node->field_einrichtung[0][nid].'">'.db_result(db_query("SELECT title FROM node WHERE nid=%d",$node->field_einrichtung[0][nid])).'</a><br/>'.db_result(db_query("SELECT field_strasse_value FROM content_type_einrichtung WHERE nid=%d",$node->field_einrichtung[0][nid])).'<br/>'.db_result(db_query("SELECT field_ort_value FROM content_field_ort WHERE nid=%d",$node->field_einrichtung[0][nid]));
} else{
$node_field[0]['value'] ='';
} ?>
Da ich so gut wie keine PHP-Kenntnisse habe, ist der Code sicher nicht perfekt.
Vielleicht gibt es wesentlich einfachere Lösungen, aber ich möchte Zukünftigen Suchern meine Lösung nicht vorenthalten.
Michael
gibt es auch noch andere lösungen?
am 13.05.2010 - 15:26 Uhr
Hallo, ich möchte haargenau das machen, was du gemacht hast, da aber ich (noch) kein PHP kann, muss ich schnell eine andere lösung herausbekommen, wie ich das hin bekomme ohne php. hast du in der zwischen zeit neue lösungen gefunden?
gruß
PAt
ja, schau dir diesen webcast
am 13.05.2010 - 16:43 Uhr
ja,
schau dir diesen webcast an. Da wird beschrieben, wie es geht.
http://screenr.com/V27
Viel Erfolg
Michael
danke, ich habe es aber
am 13.05.2010 - 17:28 Uhr
danke, ich habe es aber soeben dann doch noch geschafft, und zwar mit node reference views....
das video schaue ich mir aber trotzdem noch an...
schönen tag noch
Man braucht views2...
am 13.05.2010 - 18:09 Uhr
.. und man kann dann bei der Ersellung des node-reference-Feldes die entsprechende View auswählen.
Das ist z.B. interressant wenn man die auswählbaren Nodes noch filtern möchte oder aber die sichtbaren Felder des Nodes in der View festlegen möchte.
Sepp