Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 198f860c

Von Sven Schöling vor etwa 14 Jahren hinzugefügt

  • ID 198f860c0c828939ef6f8f698fcfb5d7b9796999
  • Vorgänger ee1d7e16
  • Nachfolger ee9f9f9a

Update zu Multibox - select_name

Da sql ledger diees unsägliche mixen von Daten in einem einzigen Feld betreibt,
gibt es immer wieder Probleme mit der Verwechselung von id und Content Text.
Multibox kann das jetzt auseinanderhalten.

Das neue Attribut select_name wird als name benutzt, wenn eine select_box
gerendert wird, nicht aber wenn ein textfeld gerendert wird. So lässt sich ein
Textfeld mit Textinput auf (Beispiel) customer mappen, eine selectbox aber
direkt mit ids umgehen und auf customer_id mappen.

Beispiel folgt gleich.

Unterschiede anzeigen:

templates/webpages/generic/multibox.html
23 23
    select        : java function call for a selection popup or other magic
24 24
    allow_textbox : allow to display a textbox instead of a drop down box if there are more entries than 'limit' entries.
25 25
    limit         : defines the limit of entries, after which a textbox is generated. defaults to vclimit, or, failing to find that, 200.
26
    select_name   : if a select is displayed, use a different name. ex.: department for textinput, but department_id for selects
26 27
    readonly      : softly prevents modification
27 28
-%]
28 29
[%- DEFAULT
29 30
  limit      = limit   != '' ? limit   : vclimit != '' ? vclimit : 200
31
  show_text  = allow_textbox and DATA.size and limit < DATA.size ? 1 : 0
30 32
  id         = id      != '' ? id      : name
31 33
  default    = default != '' ? default : $name
32 34
-%]
35
[%-
36
  name       = (select_name != '' and ! show_text) ? select_name : name
37
-%]
33 38
[%- FOREACH row = DATA %]
34 39
  [%-
35 40
       row.id       = row.$id_key     != ''  ? row.$id_key    : $id_sub(row)
......
39 44
       row.selected = default == row.id
40 45
  -%]
41 46
[%- END -%]
42
[%- IF allow_textbox and DATA.size and limit < DATA.size %]
47
[%- IF show_text %]
43 48
<input type="text"
44 49
 [%- IF name     %] name="[%     HTML.escape(name)     %]"[% END -%]
45 50
 [%- IF id       %] id="[%       HTML.escape(id)       %]"[% END -%]

Auch abrufbar als: Unified diff