Modify

Opened 7 years ago

Last modified 5 years ago

#1621 new Neues Feature

Möglichkeit der Verwendung von optgroups in Dropdowns schaffen

Reported by: noRiddle Owned by: somebody
Priority: normal Milestone:
Component: Shop Version: 2.0.4.2
Keywords: Cc:
Blocked By: Blocking:

Description

Im Shopsystem fehlt die Möglichkeit ein Dropdown (= select-Element) mit optgroups mittels einer System-Funktion zu erstellen.
Die /inc/-Funktion xtc_draw_pull_down_menu() könnte man z.B. folgendermaßen erweitern:
Anstatt

$field .= '<option value="' . xtc_parse_input_field_data($value['id'], array('"' => '&quot;')) . '"';

das

$field .= (isset($value['label'])) ? '<optgroup label="' . xtc_parse_input_field_data($value['label'], array('"' => '&quot;')) . '"' : '<option value="' . xtc_parse_input_field_data($value['id'], array('"' => '&quot;')) . '"';

und anstatt

$field .= '>' . xtc_parse_input_field_data($value['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';

das

$field .= '>' .(isset($value['label']) ? '</optgroup>' :  xtc_parse_input_field_data($value['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>');

um dann bei Bildung des Arrays für den Parameter $values der Funktion, solche Clauses benutzen zu können:

$drop_down_array[] = array((CONDITION ? 'label' : 'id') => WERT, 'text' => NAME);


Mein Vorschlag ist vielleicht nicht ganz ausgegoren, eine Option optgroups mittels einer System-Funktion verwenden zu können wäre trotzdem gut.

Gruß,
noRiddle

Attachments (1)

jquery.sumoselect_withOptgroup.zip (3.6 KB ) - added by anonymous 7 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 by Torsten Riemer, 7 years ago

Reporter: changed from anonymous to noRiddle

by anonymous, 7 years ago

comment:2 by anonymous, 7 years ago

Falls Interesse besteht:
Habe eine Version von Sumoselect gefunden die optgroup unterstützt.
Quelle hier

Habe ein paar kleine Fehler bereinigt.
Der Versuch die Kommentare à la

//

zu diesen zu ändern

/* */

damit der momentan benutzte Compactor keinen Mist produziert, gelang mir seltsamerweise nicht. Ergab trotz mehrfachen Überprüfens immer Fehler beim Komprimieren.

Deshalb im Anhang eine komprimierte fehler-bereinigte Version.

Das CSS bei Verwendung müsste so ergänzt werden:

.SumoSelect > .optWrapper > .options > li span.optgroup-label {display:block; color:#4d4d4d; font-weight:bold;} /*added for new optgroup support, noRiddle*/

Gruß,
noRiddle

comment:3 by Torsten Riemer, 6 years ago

Milestone: modified-shop-2.0.5.0

comment:4 by noRiddle, 5 years ago

... finde ich nach wie vor bedenkenswert...

Gruß,
noRiddle

Modify Ticket

Action
as new The owner will remain somebody.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.