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

Formularelemente zu CCK-Fields sollen nur bei Neu-Anlegen eines Nodes angezeigt werden.

Eingetragen von jehoho (19)
am 11.06.2008 - 12:22 Uhr in
  • Views
  • Drupal 5.x oder neuer

Hallo.

Ich möchte, dass bestimmte Formularelemente nur angezeigt werden, wenn der Node neu angelegt wird.

Es geht um denk klassischen Fall: der Inhaltstype "Kundendaten" mit Adresse u.s.w. und:
Eingabe von Kundendaten mit Checkbox für die Zustimmung zu AGB und Radioboxen für Zahlungsweise (Rechnung/Bankeinzug).

Die letzten beiden brauche ich nur, wenn der Kunde die Daten neu eingibt.
Die übrigen Kundendaten (Adresse u.s.w.) soll der Kunde auch im Nachhinein bearbeiten können.

Wie kann man das lösen?
Danke.

‹ Frontpage und Views Views: Nodes nach taxonomy ausgeben ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich denke die ganze Sache

Eingetragen von quiptime (4972)
am 11.06.2008 - 13:11 Uhr

Ich denke die ganze Sache per Nodetype Template zu steuern ist am Einfachsten.

Im Template werden zunaechst ALLE CCK Felder einzeln ausgegeben. Also nicht ueber die $content Variable.

Vor der Ausgabe der einzelnen Felder findet eine entsprechende Pruefung statt.

Sollten die Kundendaten Bestandteil des Userprofiles sein kommst Du mit dem normalen Drupal Userprofil nicht weit und voran gesagtes kannst Du NICHT anwenden.

Edit:
Ist ja Bullshit was ich gerade gesagt habe. Das betrifft ja nur die Anzeige der Node. Du willst ja im Editmodus Feldanzeigen einschraenken.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein moeglicher

Eingetragen von quiptime (4972)
am 11.06.2008 - 13:20 Uhr

Ein moeglicher Loesungsansatz waeren CCK "Conditional Fields".

Damit koennen CCK Felder/Feldgruppen bei Bedarf angezeigt werden. Sprich:
Klickt der Kunde im Editmodus auf "mehr Daten anzeigen" dann werden die zunaechst nicht sichtbaren Felder angezeigt.

Das sollte auch per PHP zu steuern sein in dem das fuer die Auswahl zustaendige CCK Selekt-Feld "weniger Daten/mehr Daten" dynamisch generiert wird.

Auch hierbei gilt.
Sollten die Kundendaten Bestandteil des Userprofiles sein kommst Du mit dem normalen Drupal Userprofil nicht weit und voran gesagtes kannst Du NICHT anwenden.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man kann sich auch ein

Eingetragen von Alexander Langer (3416)
am 11.06.2008 - 13:56 Uhr

Man kann sich auch ein eigenes Modul schreiben, dass sich in hook_form_alter() einklinkt , wenn das Formular des Nodetyps generiert wird und kann dann anhand z.B. des URL-Path-Parameters (das Wort habe ich eben erfunden ;) ) "edit" entscheiden die gewünschten Felder aus dem Formular zu entfernen.

<?php
MEINMODUL_form_alter
($form_id, &$form) {
  if (
$form_id == 'MEINTYP_node_form' && $node->type == 'MEINTYP' && arg(2) == 'edit') {
    unset(
$form['MEINFELD']);
  }
}
?>

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Alexander, mit der

Eingetragen von quiptime (4972)
am 11.06.2008 - 14:03 Uhr

@Alexander,

mit der hook_form_alter() Variante ist dies nicht mehr moeglich:

Zitat:

Die übrigen Kundendaten (Adresse u.s.w.) soll der Kunde auch im Nachhinein bearbeiten können

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dafür, dass es nicht geht,

Eingetragen von Alexander Langer (3416)
am 11.06.2008 - 14:07 Uhr

Dafür, dass es nicht geht, funktionierts bei mir aber ganz gut. ;)

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du im Edit Modus

Eingetragen von quiptime (4972)
am 11.06.2008 - 14:29 Uhr

Wenn Du im Edit Modus Formularelemente nicht anzeigst wie sollen ihre Inhalte dann nachtraeglich zu editieren sein?

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ah!!! Da habe ich wohl ein

Eingetragen von Alexander Langer (3416)
am 11.06.2008 - 14:39 Uhr

Ah!!! Da habe ich wohl ein fieses Detail kurzum überlesen :D Sorry, quip!

Aber auch dann kann man sich was modulmäßiges stricken. Statt das Feld zu entfernen, fügt man ein neues collapsible Fiield ein und verschiebt die gewünschten Felder im Form-Array in eben dieses.

Denkanstoß:

<?php


    $form
['MEIN_NEUES_FELD'] = array(
     
'#title' => t('More information'),
     
'#type' => 'fieldset',
     
'#collapsible' => true,
     
'#collapsed' => true,
     
'#weight' => -3,           
    );
?>

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

Womit wir wieder beim CCK

Eingetragen von quiptime (4972)
am 11.06.2008 - 14:53 Uhr

Womit wir wieder beim CCK Modul "Conditional Fields" angelangt waeren.

Vorteil von "Conditional Fields" gegenueber einem eigenen Modul waeren die sofort verfuegbaren Funtionalitaeten im CCK Umfeld. Diese muesste man im eigenen Modul durch weiteren Code kreieren.
Ausserdem ist ein Modul erst mal "eher statisch". Bei nachtraglichen Aenderungen im Profil kann man mit "Conditional Fields" einfacher reagieren.

Bei D6 allerdings ist momentan das eigene Modul die Loesung.

PS
Will nix gegen eigene Module sagen.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich setze CF selbst hier und

Eingetragen von Alexander Langer (3416)
am 11.06.2008 - 18:19 Uhr

Ich setze CF selbst hier und da ein. Aber für D6, wie du schon anmerkst, gibt es das nicht und es gibt auch diverse Berichte zu Problemen im Einsatz. Ich hatte noch keine, das mag aber Glück sein ;)

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe neulich auf 'ner

Eingetragen von quiptime (4972)
am 11.06.2008 - 18:49 Uhr

Ich habe neulich auf 'ner Website exessiv CF eingesetzt. Da hatte ich Probleme. Konnte sie aber klaeren. Mein Eindruck ist, CF ist irgendwie ein klein wenig im Beta haengengeblieben.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 8 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 11 Stunden
  • Kannst doch auch alles direkt
    vor 3 Wochen 4 Tagen
  • In der entsprechenden View
    vor 3 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 4 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 25 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