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

CCK Felder ein- und ausblenden

Eingetragen von missingdot (145)
am 05.03.2010 - 12:54 Uhr in
  • Views
  • Drupal 6.x

Hallo,

ich habe einen Inhaltstyp erstellt, der zwei CCK-Felder A und B enthält. Wenn ich nun den Node aufrufe, bekomme ich beide Felder A und B angezeigt. Klar, soll ja auch so sein. Jetzt will ich aber einen Umschalter einbauen, der es mir erlaubt global zu steuern, welche CCK Felder in dem Node angezeigt werden sollen. D.h. Bei Klick auf Schalter soll nur noch Feld B angezeigt werden.

Wie kann ich das realisieren? Hab leider nirgends etwas darüber gefunden.

Konkretes Beispiel:
Ich habe eine Lexikon mit vielen Einträgen, die über jeweils eine Kurzbeschreibung und ausführliche Beschreibung (jeweils ein CCK-Feld) verfügen. Nun möchte ich zwei Ansichtsmodi erstellen - Kurz und Ausführlich - welche global für das ganze Lexikon gelten sollen.

Hoffe mir kann jemand helfen.

Schönen Gruß,
Boris

‹ [gelöst] User list Bestimmte Felder aus Beitragsreferenz im Node ausgeben [gelöst] ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Views

Eingetragen von Frank Ralf (2135)
am 05.03.2010 - 15:39 Uhr

Klassischer Fall für Views.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für den Tipp. Jedoch

Eingetragen von missingdot (145)
am 07.03.2010 - 16:47 Uhr

Danke für den Tipp. Jedoch komm ich damit nicht wirklich weiter. Klar, ich kenne Views einigermaßen. Ich verstehe aber nicht, wie ich mit Views einen vorhandenen Node (der ja vollständig ist) durch eine View ersetze ohne daß sich der Pfad ändert.

Würd mich also freuen, wenn du mir einen weiteren Tipp geben kannst.

Gruß,
Boris

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Zusammenhang zwischen

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

Der Zusammenhang zwischen deiner Ausgangsfrage und deinem Beispiel ist mir nciht ganz klar. Dein Beispiel ist ein klassischer Anwendungsfall für Teaser bzw. volle Nodeansicht. Das lässt sich bereits auf Ebene des Inhaltstyps in den Sichtbarkeitseinstellungen der CCK-Felder einstellen. Zusätzlich kann man über das Theming des Inhaltstypen weiter Einfluss nehmen.

Das hat aber nichts mit irgendeinem magischen Schalter zu tun, der wie von Geisterhand global ändert, was angezeigt wird und was nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich steh irgendwie aufm

Eingetragen von missingdot (145)
am 11.03.2010 - 12:27 Uhr

Ich steh irgendwie aufm Schlauch...

Also nochmals zur Erklärung:
Ich habe eine (mit Views erstellte) Liste, eine Übersicht aller Nodes, in denen nur der Name (Titel) angezeigt wird. Nun möchte ich erreichen, dass wenn ich einen Node über diese Liste aufrufe, dieser Node (der ja schon existiert) mir in einer bestimmten Variante angezeigt wird. z.B. möchte ich das CCk-Feld "Beschreibung" nicht mit angezeigt bekommen. Dafür habe ich mich im Vorfeld entschieden (also einen Button gedrückt), dass ich alle Nodes in dieser Art sehen will. Genauso kann ich mich aber auch jederzeit entscheiden, die volle Ansicht angezeigt zu bekommen.

Teaser-Ansicht bringt mich hier ja nicht wirklich weiter, da ich ja diese Ansicht nur als Vorschau angezeigt bekomme, also z.B. zeig mir alle Nodes mit Taxonomie "Vogel" in der Teaseransicht. Dadurch bekomme ich eine Liste, von der aus ich auf den kompletten Beitrag komme.

Oder denke ich hier völlig falsch?

Danke fürs mitdenken.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views mit Argumenten.

Eingetragen von r4s6 (1383)
am 11.03.2010 - 12:56 Uhr

Wie wärs mit folgender Variante?

Erstelle doch einfach noch je eine Ansicht für die beiden Varianten, wie Du sie haben möchtest, einmal mit Langtext und einmal mit Kurztext. Verpasse den Ansichten je ein Argument (Ich würde nid) nehmen. In der View die Du bereits beisammen hast (Liste), packst Du noch 2 Links auf jede Zeile, die das Argument für dievorherigen Views liefern und schon kann User bei jeder Wahl von gleich sagen welche Variante er/sie sehen will. Was btw. auch etwas flexibler ist als von anfang an zu bestimmen was man wären der ganzen Session sehen will.

Das müsste doch gehen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das hört sich nach einer

Eingetragen von missingdot (145)
am 11.03.2010 - 16:00 Uhr

Das hört sich nach einer Lösung an, trifft den Nagel aber noch nicht auf den Kopf. Denn das "globale" Umschalten ist in diesem Fall ziemlich wichtig für die spätere Verwendungsweise der Seite. Ich schau mir das mal an, bin aber weiterhin auf der Suche nach der perfekten Lösung.

Also, wenn noch jemand eine Idee hat, bin ich dankbar über jeden Tipp.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Konkrete Beispiele?

Eingetragen von Frank Ralf (2135)
am 11.03.2010 - 16:14 Uhr

Vielleicht könntest du einfach auch ein bisschen konkretere Beispiele geben? Oder einen Screenshot?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Globales Umschalten

Eingetragen von r4s6 (1383)
am 11.03.2010 - 16:16 Uhr

Na dann würde ich mir folgende Überlegung machen.

2 Views die die gleichen sind, aber verschiedenen Pfaden folgen (2 Menü-Einträge) bei der Node anzeige, kannst Du dann auf dem einen Pfad den View verwenden mit den langen Texten und auf dem anderen Pfad den mit den kurzen. Das einfach als Idee, ich habe jetzt noch nicht zu Ende gedacht, wie ich das im Detail lösen würde. Evtl. lässt sich das auch über 2 Argumente lösen, die dem Pfad mit gegeben werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Frank: Was meinst du mit

Eingetragen von missingdot (145)
am 11.03.2010 - 17:22 Uhr

@Frank: Was meinst du mit konkreter? Ich habe doch oben schon im Detail alles erklärt. Aber ich versuche es nochmal auf eine andere Art, vielleicht mehr von der Programmierseite her:

Ich stell mir das so vor:
Ich habe einen Node A mit z.B. 4 CCK-Feldern, also:

Node A: F1, F2, F3, F4

Jetzt setze ich ein globale Variable X, welche mir die Art der Ansicht speichert. X kann also folgende Werte haben:

X=k oder X=l

Nun rufe ich Node A auf, in diesem Moment schaut das System nach, welchen Wert X hat und zeigt mir das entsprechende Ergebnis an. Also:
Fall 1:
Für X=k ist das Ergebnis Node A: F1, F2

Fall2:
Für X=l ist das Ergebnis Node A: F1, F2, F3, F3

Aber: Mir wird immer Node A angezeigt, nicht ein Node A_1 oder so!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Modul "CCK Field Privacy"

Eingetragen von Frank Ralf (2135)
am 11.03.2010 - 18:07 Uhr

Hm, ich würde - wie schon von anderen vorgeschlagen - mit Views und Argumenten/Parametern arbeiten.

Ansonsten könntest du das auch mit dem Modul CCK Field Privacy und entsprechenden Rollen realisieren.

"Konkreter" hieße: Wer soll wann warum was zu sehen bekommen? Ist dann eine Platzfrage (zu lösen mit Teasern) oder eine Berechtigungsfrage? Oder geht es um einen Workflow? So was in der Art ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Bob hat wieder zugeschlagen

Eingetragen von r4s6 (1383)
am 11.03.2010 - 20:28 Uhr

Möglicherweise hilft dir das neueste Video vom Senfkorn-Bob einige Ideen zu entwickeln schaus Dir an und überlege, ob das evtl. dein Problem lösen kann. mit Display Suite kannst Du eigene Asichtslayouts machen und die Felder verwenden die du willst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Das lässt sich bereits

Eingetragen von LJR (132)
am 07.07.2010 - 14:38 Uhr
Zitat:

Das lässt sich bereits auf Ebene des Inhaltstyps in den Sichtbarkeitseinstellungen der CCK-Felder einstellen.

Diese Funktion konnte ich leider nicht entdecken. Wo steht das genau?

Ich benutze ein Drupal 6.x. Ist das da nicht vorhanden?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gilt Dein Schalter absolut

Eingetragen von leda.ch (977)
am 07.07.2010 - 16:00 Uhr

Gilt Dein Schalter absolut systemweit für jeden User?

Wenn man also das inhaltstyp-node.php.tpl in zwei varianten bereithielte und dann im richtigen moment (also beim umlegen des schalters)
durch umbenennen das richtige template zöge, wäre sowas eine lösung?

x=k: inhaltstyp-node.php.tpl-a -->
x=l : inhaltstyp-node.php.tpl-b -->
--> inhaltstyp-node.php.tpl

Müsste manhalt durch ein Modul bewerkstelligen...

*edit* nachstehende exterior-lösung gefällt mir besser...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Frage, die sich mir

Eingetragen von Exterior (2903)
am 07.07.2010 - 15:54 Uhr

Die Frage, die sich mir stellt: Wer kann den Schalter betätigen?

Fall 1: Du als Admin betätigst den Schalter und kannst damit die globale Ansicht ändern
Fall 2: Jeder User hat seinen eigenen Schalter und kann für sich entscheiden, wie er es angezeigt haben will

Fall 1 -->
Das kann man direkt bei den Einstellungen des Inhaltstyps machen, da kann man bestimmte CCK-Felder ausblenden lassen.
Oder man macht ein eigenes kleines Modul, welches einen solchen Button implementiert und bei einem Klick darauf wird dann ein bestimmter Wert in der Tabelle "Variable" gesetzt.
Nun legt man für den Inhaltstyp eine eigene node.tpl.php an und prüft darin den Wert in der Tabelle. Je nach Wert werden die Felder ausgegeben.

Fall 2 -->
So ähnlich wie Fall 1.
Eigenes kleines Modul für den Button und zusätzlich eine eigene kleine Tabelle mit 2 Spalten: UID und Status oder so
Dann kann jeder User auf den Button klicken und dann wird in der eigenen Tabelle nach der User-ID gesucht und der entsprechende Anzeige-Status geändert.
Dann wieder eine eigene node.tpl.php für den Inhaltstyp, darin die Tabelle nach der ID des $user-Objekts durchsuchen, den Status auswerten und entsprechende Felder ausgeben.

Alle Varianten dürften keine sonderlich große Arbeit erfordern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Rollenspiele ?

Eingetragen von sepp68 (444)
am 07.07.2010 - 18:49 Uhr

Man könnte auch je nach Rolle in der tpl.php umschalten.

  • 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 6 Tagen 2 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 15 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 1 Benutzer und 43 Gäste online.

Benutzer online

  • Gorkde

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