ecomplus / storefront-cms

Content and page builder for Storefront based on Netlify CMS
MIT License
0 stars 0 forks source link

Botões para setar múltiplos fields #21

Closed leomp12 closed 2 years ago

leomp12 commented 2 years ago

Seria ótimo se conseguirmos criar botões que configuram automaticamente layouts diferentes e até alteram os banners padrão, para isso precisaríamos em uma única ação editar vários objetos das sections, que são configuradas pelo famigerado List widgets: variable types.

leomp12 commented 2 years ago

Melhor ainda se conseguirmos em uma única ação editar mais de um file no output do CMS (content).

oscargross commented 2 years ago

Testes para deixar os fields dinâmicos na montagem de layouts, assim poderá feita a edição de vários files em um clique:

1 - Pegar fields de outra prop do config, 'predefined' collection.get('predefined') irá retornar os fields do predefined, porém apenas pra edição, na montagem da loja irá puxar os fields padrão;

2 - Setar fields com o .set() updateFieldByKey(collection, 'key', (newfield) => newfield) ou collection.set('predefined', collection.get('fields', List())) Não funcionou e a função é declarada para gerar componentes vazios, então teria que pensar outra forma;

3 - Criar outra collection só com os layouts e fields separados Na config, porém a collection é passada em tds as solicitações e não consegui fazer puxar os fields de outra collection quando estou abrindo a primeira collection. const fields = collection.get('fields').toArray(); Também será confuso na tela inicial (menu com collections em lista a esquerda), isolar a collection padrão dos layouts.

4 - Tranformar fields em array Alterar em tds os locais que propriedades e fields são chamados para informar qual o indice na lista, ficando cada layout em uma posição. Novamente, todas as funções para pegar informações dos fields recebem a collection e não consegui puxar os campos dos fields na montagem da loja com eles estando em uma lista. predefined:

Não abri PR pois fiz esses testes isolados e um não podia interferir no outro..

Caso tenham mais alguma ideia pra teste, se não, abortar missão.🥵

leomp12 commented 2 years ago

Tendi 😐 Vamos só pelo admin mesmo então (pelo menos por enquanto), como conversamos naquela call.

oscargross commented 2 years ago

Feito o carreto

image

leomp12 commented 2 years ago

@oscargross 💪🏾