In der Blueprint-Datei für eine Vorlage möchte ich ein Repeater-/Listenfeld verwenden,
das ein Auswahlfeld mit Optionen hat,
und bedingte Felder, die die vom Benutzer ausgewählte Auswahl auswerten, um Felder entsprechend anzuzeigen.
Ich möchte dies für lange Artikel verwenden, bei denen der Benutzer verschiedene Arten von Komponenten hinzufügen / wechseln kann
Wie setze ich eine Bedingung auf den Wert des Auswahlfeldes (in Wiederholung)?
Wie der Code jetzt ist, ist nur die Auswahl sichtbar und die Bedingungen haben keine Auswirkung.
header.field.selection:
type: list
style: vertical
label: Repeater/list with conditional field selection
fields:
.select: # this select sets the boolean for the conditional fields
type: select
size: long
classes: fancy
label: Select the type of field you would like to add
options:
tinymce: Textarea
slideshow: Slideshow
testimonial: Testimonial
video: Video
.tinymce:
type: conditional # if Textarea was selected render the tinymce fields
condition: "header.field.selection.select is same as('tinymce') ? 'true' : 'false'"
fields:
.fieldName:
type: text
label: Tinymce
.slideshow:
type: conditional # if slideshow was selected render the slideshow fields
condition: "header.field.selection.select is same as('slideshow') ? 'true' : 'false'"
fields:
.fieldName2:
type: text
label: Slideshow
.testimonial:
type: conditional # if testimonial was selected render the testimonial fields
condition: "header.field.selection.select is same as('testimonial') ? 'true' : 'false'"
fields:
.fieldName3:
type: text
label: Testimonial
.video:
type: conditional # if video was selected render the video fields
condition: "header.field.selection.select is same as('video') ? 'true' : 'false'"
fields:
.fieldName4:
type: text
label: Video
Das Bedingungsfeld ist nicht etwas, das basierend auf anderen Feldern "live" funktioniert, es kann einfach eine PHP-Funktion ausführen, wenn es bedient wird, und dann eine Bestimmung treffen. Alles andere würde Javascript erfordern.
Danke Rukster.
Ich habe es geschafft, ein 'Flexibles Inhaltsfeld'** zu erstellen (wie erweiterte benutzerdefinierte Felder in Wordpress). Den Code könnt ihr hier sehen
** Definieren Sie Gruppen von Unterfeldern (Layouts) und fügen Sie sie hinzu, bearbeiten und ordnen Sie sie neu an, um hochgradig individuelle Inhalte zu erstellen!
Würde gerne so etwas als Kernfeld im Form-Plugin sehen :) PR vielleicht??
@rhukster
Für den Zweig 'Feature/Flexible-Form-Feld' wurde ein Pull-Request gestellt.
Status:
Ich brauche Hilfe bei:
tnx
(Ich bin auf dem Slack Channel als 'genenenenaam')
@rhukster
Gibt es eine Abhängigkeit von der 'Sortierung der Listenelemente' und dem Namen der Feldvorlage 'list.html.twig' ?
Ich habe einen Test gemacht und es scheint:
Ich glaube, dass die Antwort darauf mein Problem mit dem aktuellen Status der neuen Funktion lösen kann.