-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
YForm Pipe Notation Syntax #19
Comments
@IngoWinter @alexplusde wurde das bereits in die yform-Doku übernommen? |
Ich weiss von nix. Ich hatte das hier nur fix reingeknallt, als es durch Slack ging... |
@skerbis nicht, dass ich wüsste. Die Issues in der Doku stapeln sich da ja inzwischen. Ich habe nur im Moment zu viel um die Ohren :/ |
@alexplusde @IngoWinter - ich mach hier dicht. Das muss in yform behandelt werden. Scheint mir ein Doku-Part zu sein. |
Attribute können alternativ als JSON mitgegeben werden. War mit der #-Schreibweise nie vertraut, ich werde da nichts machen. |
Da es hier issues bei yform gibt, bleibt es closed |
@dergel bitte um Klärung ob diese Nutzung dokumentiert werden sollte |
Ich finde das super wertvoll für die usability von den pipes in YFORM. Die Keys mitzugeben macht das in der Praxis extrem viel nutzbarer, und ich finde super, wenn diese Möglichkeit irgendwo dokumentiert ist. |
@cukabeka was für Keys? |
sehr gerne dokumentieren |
Die Kurzerklärung zum select Element lautet:
select|name|label|Frau=w,Herr=m|[no_db]|defaultwert|multiple=1|selectsize
Wenn ich hier zum Beispiel nur name, label, felder und dann noch multiple setzen will, kann ich statt
select|name|label|Opt1=opt1,Opt2=opt2,Opt3=opt3|||1
auch das schreiben:
select|name|label|Opt1=opt1,Opt2=opt2,Opt3=opt3|#multiple:1
die Zwischen-Pipes kann ich weglassen, weil ich mit der
#
-Notation Keys angebe, die von YForm unabhängig von ihrer Position erkannt werden.Es lassen sich auch mehrere Attribute hinzufügen:
text|geburtstag|Geburtstag*|#required:required|#grid:,datepicker
YForm lässt über die Notation
# + Attributname
nur bestimmte Attribute zu (z.B.['placeholder', 'autocomplete', 'pattern', 'required', 'disabled', 'readonly']
für eininput[type="text"]
. Wenn das nicht ausreicht kann man über#attributes:{"json":"objekt"}
alle möglichen Attribute setzen:select|anrede|Anrede*|Bitte wählen=,Frau=Frau,Herr=Herr|#attributes:{"required":""}
text|vorname|Vorname*|#attributes:{"required":"","autofocus":"","placeholder":"zb Willi"}
Beispielformular
Die #-Notation ist nicht auf Attributes beschränkt sondern funktioniert mit jedem Key. Auch das Label könnte man damit an eine beliebige stelle setzen:
|#label:Foo|
Man könnte also nur noch benannte keys nutzen:
text|#name:first_name|#label:Vorname|#...
oder eben auch:text|#label:Vorname|#name:first_name|#...
Man kann so übrigens auch eigene Keys hinzufügen, und die dann im eigenen Template auslesen. Man braucht dazu also die Value-Klasse nicht anfassen.
Ist übrigens nichts Pipe-spezifisches, auch wenn man YForm über PHP nutzt kann man beide Varianten nutzen:
['first_name', 'Vorname']
(unbennant, Reihenfolge ist wichtig)['name' => 'first_name', 'label' => 'Vorname']
(mit Keys, Reihenfolge ist egal)|first_name|Vorname|
und|#name:first_name|#label:Vorname|
werden 1:1 in die beiden obigen PHP-Varianten übersetzt.Und man kann aber eben auch beides mischen:
Pipe:
|first_name|Vorname|#attributes:...|
PHP:
['first_name', 'Vorname', 'attributes' => '...']
The text was updated successfully, but these errors were encountered: