Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Listeneinträge mit <optgroup> groupieren

Eingetragen von DrupalFan (1646)
am 03.10.2007 - 12:04 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo,

ich möchte die Listeinträge bei 2 Profilfeldern (Land, Bundesland) mit

<optgroup>

gruppieren, also zwischen den einzelnen Listeneinträgen kleine "Überschriften" drin haben, die nicht anklickbar sind (dadurch ergibt sich diese Gruppierung).

Habe alles versucht herauszufinden, wie man das macht.
Hat jemand einen Tipps für mich?
Geht das überhaupt?
Vielen Dank.

‹ Breadcrumb erschreint nicht bei anonymous user Log-Einträge: Seite nicht gefunden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wass denn?

Eingetragen von quiptime (4972)
am 03.10.2007 - 12:13 Uhr
Zitat:

Habe alles versucht herauszufinden, wie man das macht.

Was hast Du denn alles versucht?

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

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gegoogelt

Eingetragen von DrupalFan (1646)
am 03.10.2007 - 12:58 Uhr

Habe gegoogelt und drupal.org vollständig durchsucht, es ist zwar ein paar Mal die Rede von <optgroup> aber weder im Zusammenhang mit Profilfeldern noch wie man eine bestehendes Listenfeld gruppieren kann.

Vielleicht gibts ja doch irgendwo eine Anleitung oder zumindest einen Hinweis. Poste einfach den Link.

Was weißt Du denn darüber?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Man kann die Anzeige des

Eingetragen von quiptime (4972)
am 03.10.2007 - 14:02 Uhr

Man kann die Anzeige des Profil mit einem Template beeinflussen. Zum Thema Userprofil und Template solltest Du bei der Suche sehr schnell nicht nur im drupal.org Handbuch und eventuell auch hier fuendig werden.

Du bist Dir schon im Klaren wofuer optgroup eigentlich verwendet wird?

Wenn Du das Profil mit einem Template aenderst wuerde ich aber nicht optgroup nehmen sondern fieldset und label.

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

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eigentlich will ich "nur" in

Eingetragen von DrupalFan (1646)
am 03.10.2007 - 14:38 Uhr

Eigentlich will ich "nur" in der Select-Liste "Bundesland" die Einträge

--- Deutschland ---
Berlin
Brandenburg
usw
--- Schweiz ---
Bern
Zürich
usw.
--- Österreich ---
Wien
Niederösterreich
usw.

statt als Trennzeichen "normalen Listeinträge", die mit --- markiert sind, verwenden, sondern eben sozusagen Überschriften in der Selectliste haben, die nicht anklickbar sind.

Ich weiß, dass das mit optgroup machbar ist, wenn es anders auch geht, wär auch okay.

Ich will aber nicht das gesamte Registrierformular ändern oder mit hook-Funktionen überschreiben, sondern lediglich 2 Stück Selectlisten dahingehend ändern, dass die "Bereichs-Überschriften" innerhalb der Selektliste nicht anklickbar sind und hervorgehoben sind (einrücken oder fett).

Bitte gib mir noch einen genaueren Tipp, falls mit fieldsets oder css machbar, wär auch okay. Ich will nur die Selectlisten ändern, sonst nichts.

(Eine andere Möglichkeit wäre, die Liste "Bundesland" zunächst leer zu lassen und erst mit Werten zu füllen, wenn ein Land gewählt wurde. Das ist eine ganz andere Variante, aber wenn dafür die Lösung leichter umsetzbar ist, wär das auch toll. JavaScript? Ajax? Drupal-Modul?).

Vielen Dank.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zusammenspiel der 3 Tags fieldset label optgroup

Eingetragen von quiptime (4972)
am 03.10.2007 - 19:45 Uhr

Jetzt glaube ich Dich etwas besser zu verstehen mit dem was Du willst.

Hier ein Beispiel fuer das Zusammenspiel der 3 Tags fieldset label optgroup in einer Auswahlliste:

<form>
  <fieldset><label>Speisen</label>
    <select name="select">
      <optgroup label="Italienische Gerichte">
        <option>Pizza</option>
        <option>Tortelloni</option>
        <option>Bifsteca</option>
      </optgroup>
      <optgroup label="Deutsche Gerichte">
        <option>Pfannkuchen</option>
        <option>Tafelspitz</option>
        <option>Fischstäbchen</option>
      </optgroup>
      <optgroup label="Süßes" disabled="disabled">
        <option>Schokoriegel</option>
        <option>Sahneeis</option>
        <option>Kaugummi</option>
        <option>Pfefferminz</option>
      </optgroup>
    </select>
  </fieldset>
< /form>

Geht es in diese Richtung?

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

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Genau!

Eingetragen von DrupalFan (1646)
am 03.10.2007 - 19:54 Uhr

Ja genau, sowas will ich machen!!!!

Es geht um die select-Liste bei der Registierung (und User-Bearbeitung). Die select-Liste "Bundesland" für das Userprofil wird ja unter

"Verwalten - Benutzerverwaltung - Profile"

erstellt. Dort kann man ja ein "Listenauswahlfeld" anlegen, was ich auch schon lange gemacht habe. Die Trennungen (wie hier im Bsp. "Italienische Gerichte" usw) sollen nicht anklickbar sein, durch obiges Beispiel wär das erreichbar.

Aber ich kann nirgendwo die selectliste verändern, ich kann nur in das Feld "Auswahloptionen" alle Bundesländer eingeben, es gibt aber keine Möglichkeit die "Trenner" oder "Bereichsüberschriften" (wie "Italienische Gerichte") zu markieren!!!!

Wie gesagt, möchte nicht die ganze Profilseite neu machen, sondern nur die select-Liste für das Bundesland.

Aber wie?
Vielen Dank für weitere Tipps.

  • Anmelden oder Registrieren um Kommentare zu schreiben

die Grenzen des Machbaren des Core Profil Modules

Eingetragen von quiptime (4972)
am 03.10.2007 - 20:10 Uhr
Zitat:

Die Trennungen (wie hier im Bsp. "Italienische Gerichte" usw) sollen nicht anklickbar sein, durch obiges Beispiel wär das erreichbar.

Die sind eigentlich nicht klickbar. Hier der Code meines Beispiels als Demo

http://www.mediaevent.de/xhtml/optgroup.html

Zitat:

Aber ich kann nirgendwo die selectliste verändern, ich kann nur in das Feld "Auswahloptionen" alle Bundesländer eingeben, es gibt aber keine Möglichkeit die "Trenner" oder "Bereichsüberschriften" (wie "Italienische Gerichte") zu markieren!!!!

Wie gesagt, möchte nicht die ganze Profilseite neu machen, sondern nur die select-Liste für das Bundesland.

Naja, hier stoesst Du an die Grenzen des Machbaren des Profil Modules.
Um das von Dir Gewuenschte zu realisieren musst Du wohl in das Modul eingreifen.

Eventuell verwendest Du auch als Alternative das Modul Node Profile. Dieses Modul setzt auf das normale Profil Modul auf. Mit diesem Modul hast Du echte Nodes als Profilseiten. Diese Nodes kann man mit CCK veraendern.
Inwieweit nun die Moeglichkeiten der diffrenzierten Gestaltung von Select Listen mit CCK hinsichtlich optgroup gegeben sind muesste man ausloten. Auf jeden Fall gibt es erst mal mit CCK mehr Moeglichkeiten als im normalen Profil Modul des Core.

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

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe gesucht und in

Eingetragen von DrupalFan (1646)
am 03.10.2007 - 20:43 Uhr

Ich habe gesucht und in "includes/form.inc" folgenden Code gefunden:

/**
* Format a dropdown menu or scrolling selection box.
*
* @param $element
*   An associative array containing the properties of the element.
*   Properties used: title, value, options, description, extra, multiple, required
* @return
*   A themed HTML string representing the form element.
*
* It is possible to group options together; to do this, change the format of
* $options to an associative array in which the keys are group labels, and the
* values are associative arrays in the normal $options format.
*/
function theme_select($element) {
  $select = '';
  $size = $element['#size'] ? ' size="' . $element['#size'] . '"' : '';
  _form_set_class($element, array('form-select'));
  $multiple = isset($element['#multiple']) && $element['#multiple'];
  return theme('form_element', $element, '<select name="'. $element['#name'] .''. ($multiple ? '[]' : '') .'"'. ($multiple ? ' multiple="multiple" ' : '') . drupal_attributes($element['#attributes']) .' id="'. $element['#id'] .'" '. $size .'>'. form_select_options($element) .'</select>');
}

function form_select_options($element, $choices = NULL) {
  if (!isset($choices)) {
    $choices = $element['#options'];
  }
  // array_key_exists() accommodates the rare event where $element['#value'] is NULL.
  // isset() fails in this situation.
  $value_valid = isset($element['#value']) || array_key_exists('#value', $element);
  $value_is_array = is_array($element['#value']);
  $options = '';
  foreach ($choices as $key => $choice) {
    if (is_array($choice)) {
      $options .= '<optgroup label="'. $key .'">';
      $options .= form_select_options($element, $choice);
      $options .= '</optgroup>';
    }
    elseif (is_object($choice)) {
      $options .= form_select_options($element, $choice->option);
    }
    else {
      $key = (string)$key;
      if ($value_valid && ((string)$element['#value'] === $key || ($value_is_array && in_array($key, $element['#value'])))) {
        $selected = ' selected="selected"';
      }
      else {
        $selected = '';
      }
      $options .= '<option value="'. check_plain($key) .'"'. $selected .'>'. check_plain($choice) .'</option>';
    }
  }
  return $options;
}

Ich seh das so: Wenn ein Eintrag der Selectliste nicht ein String sondern ein Array ist, dann wird automatisch eine "optgroup" angelegt.

Das klingt ja gut, ist also im Drupalcode enthalten.

Aber wie anwenden?
Wie bekomme ich unter "/admin/user/profile/add/selection" bei den Auswahloptionen ein Array rein, etc?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Geht das?

Eingetragen von DrupalFan (1646)
am 03.10.2007 - 21:37 Uhr

Wie kann ich in der mysql-Datenbank in ein Feld vom Typ "text" statt pro Zeile einen Wert, ein Array reinschreiben? (So dass "is_array($choice)" true ergibt).

EDIT:
Ich weiß jetzt, das ginge mit serialize, aber das löst das Problem nicht, man müsste Drupal umschreiben.

Aber obiger Code ist doch in Drupal, schade, dass man optgroup trotzdem nicht nutzen kann.

Hat noch jemand eine Idee?
Vielen Dank.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • gepatchte PHP Version 7.4 für Windows
  • Рейтинг онлайн казино 2026 — полный разбор
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • 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
Weiter

Neue Kommentare

  • Keine Antwort auf die Frage nach dem Woher
    vor 12 Minuten 58 Sekunden
  • Danke ich werde mir die
    vor 5 Wochen 4 Tagen
  • Vielen Dank für Ihren
    vor 6 Wochen 11 Stunden
  • Composer ist sehr ratsam
    vor 6 Wochen 2 Tagen
  • Vielen Dank für den
    vor 6 Wochen 4 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 5 Tagen
  • Gut gemacht
    vor 6 Wochen 5 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 5 Tagen
  • Links
    vor 7 Wochen 23 Stunden
  • Moin,wow, sehr gutes
    vor 7 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250319
Registrierte User: 20568

Neue User:

  • CasinoTopsam
  • Philiphelve
  • Robertspaft

» 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 1 Benutzer und 14 Gäste online.

Benutzer online

  • schmittrich

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