No arquivo de blueprint de um modelo, gostaria de usar um campo de repetidor / lista,
que tem um campo de seleção com opções,
e campos condicionais que avaliam a escolha selecionada pelos usuários de exibir os campos de acordo.
Eu gostaria de usar isso para artigos longos, onde o usuário poderia adicionar / trocar diferentes tipos de componentes
Como faço para definir uma condição para o valor do campo de seleção (em repetição)?
Como o código está agora, apenas o select está visível e as condicionais não têm efeito.
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
O campo condicional não é algo que funciona 'ao vivo' com base em outros campos, ele simplesmente pode executar uma função PHP ao ser atendido e fazer uma determinação em seguida. Qualquer outra coisa exigiria Javascript para ser executado.
Obrigado rhukster.
Consegui fazer um 'Campo de conteúdo flexível' ** (como campos personalizados avançados no Wordpress). Você pode ver o código aqui
** Defina grupos de subcampos (layouts) e adicione, edite e reordene-os para criar conteúdo altamente personalizado!
Adoraria ver algo assim como um campo central no plugin de formulário :) PR talvez ??
@rhukster
A solicitação de pull foi feita para o branch 'feature / Flexible-form-field'.
Status:
Eu preciso de ajuda em:
tnx
(estou no canal slack como 'genenenenaam')
@rhukster
existe alguma dependência da 'classificação dos itens da lista' e do nome do modelo de campo 'list.html.twig'?
Fiz um teste e parece:
Acredito que a resposta a isso pode resolver meu problema com o estado atual do novo recurso.