Wix Blocks: criar e gerenciar coleções

5 min de leitura
O Wix Blocks está aberto a todos os usuários do Wix Studio. Para ter acesso ao Wix Blocks, junte-se ao Wix Studio.
O Wix Blocks permite que você adicione coleções (bancos de dados) ao seu aplicativo. Gerenciar coleções no Blocks é semelhante a gerenciar coleções nos sites Wix. Mas há alguns pontos que são muito diferentes. Confira neste artigo. 
Dicas

Uma coleção no Blocks é um placeholder

A coisa mais importante a entender sobre uma coleção no Blocks é que ela é um placeholder para os dados de qualquer site em que está instalada. Isso ocorre porque uma coleção no Blocks pode ser usada em vários sites, até mesmo em milhares deles. Esses sites podem ser muito diferentes uns dos outros e ter seus próprios bancos de dados. Pense em uma coleção que contém informações de um cliente. Cada site pode ter uma lista de seus próprios clientes e seu widget pode se aplicar a todos eles.

Ao criar uma coleção no Blocks, você define os campos da coleção e possibilita referir-se a ela no código do aplicativo. Você também pode adicionar dados padrão no Blocks, mas isso não é obrigatório. Se você adicionar dados padrão, eles serão instalados automaticamente no site junto com o aplicativo e, posteriormente, podem ser substituídos por dados de qualquer site em que o aplicativo está instalado. 

Se você alterar a estrutura de uma coleção no Blocks em uma versão futura do seu aplicativo, isso afetará qualquer site em que está instalado. Portanto, tenha cuidado e não faça alterações que possam danificar o site. 

Sobre os dados padrão

Os dados que você adicionar às suas coleções do Blocks serão importados para o site em que seu aplicativo está instalado, fornecendo aos criadores do seu site dados padrão para o seu aplicativo. Se você optar por adicionar dados padrão, observe que:
  • O site em que seu aplicativo está instalado pode alterar esses dados posteriormente.
  • Os dados padrão só serão importados na primeira instalação. Se você lançar uma nova versão do seu aplicativo e alterar os dados na coleção, isso não substituirá os dados que já existem em qualquer site em que seu aplicativo está instalado.

Adicionar uma coleção ao seu aplicativo

  1. Clique no ícone Banco de dados database icon no menu à esquerda do seu aplicativo. 
  2. Clique em Nova coleção.
  3. Crie um namespace para o seu aplicativo, caso você ainda não o tenha. Torne o namespace significativo e claro (se você ainda não nomeou seu aplicativo, agora será solicitado que você dê um nome a ele). 
  4. Dê um nome à sua coleção.
  5. Defina a estrutura da sua coleção no CMS
  6. Opcional - adicione itens à sua coleção. Esses dados padrão serão importados junto com seu aplicativo para qualquer site em que ele estiver instalado

Visualizar sua coleção no editor

Quando você importa um aplicativo do Blocks que tem uma coleção para o seu site, a coleção aparecerá na seção CMS collection, em Suas coleções. O namespace do seu aplicativo aparecerá ao lado dessa coleção, para indicar que ele é do Blocks. Agora você pode gerenciar sua coleção como em qualquer outro site Wix. 
Importante
Se você excluir o aplicativo do site, a coleção também será excluída. 

Conectar elementos a campos da coleção (ligação de dados)

Se você quiser conectar um elemento a um campo da coleção, você pode escolher se quer conectá-lo a partir do aplicativo ou permitir que os criadores de sites conectem esse elemento por conta própria. Por exemplo, se você criar um aplicativo com lógica complexa que você precisa controlar, você provavelmente usaria a primeira opção. Se você criar um widget mais voltado para o design e quiser dar aos criadores de sites a liberdade de conectar qualquer campo que quiserem ao design, você usaria o segundo. 

Aqui estão alguns detalhes sobre essas duas opções:

Opção 1: conectar um elemento a uma coleção no Blocks

Você pode conectar um elemento a um campo de coleção no Blocks ao adicionar um conjunto de dados. Se você fizer isso, observe que:

  • Um widget externo não pode conectar um widget interno a um conjunto de dados. Você deve acessar o widget interno e conectar o elemento a partir dele.
  • Se você conectar o elemento de um aplicativo a um conjunto de dados, você não pode permitir que um criador de sites conecte esse elemento a uma coleção em seu site. Portanto, você também não poderá adicionar o botão de ação Conectar ao CMS connect na barra de ação desse elemento. Observe que o botão de ação será desativado e ficará cinza. 
Para conectar um elemento a um campo no Blocks:
  1. Vá para a aba Design
  2. Clique no elemento.
  3. Clique no ícone Conectar ao CMS connect to CMS na barra de ação. 
  4. Selecione um conjunto de dados ou adicione um se não tiver feito isso.
  5. Selecione o campo para conectar ao seu elemento. 

Opção 2: permitir que o criador de site conecte o elemento a um site


Você também pode permitir que os criadores de sites conectem elementos do aplicativo ao CMS do site através do botão de ação Conectar ao CMS connect to collection. Se você optar por fazer isso, observe que:
  • Depois que o aplicativo for instalado nos sites das pessoas e elas conectarem o elemento às suas coleções, se você conectar o mesmo elemento à sua coleção no Blocks, isso danificará a funcionalidade do aplicativo no site dessas pessoas. 
  • Se você conectou um elemento à sua própria coleção no Blocks, você não poderá adicionar esse botão de ação à barra de ação do elemento. 
Para permitir que os criadores de sites conectem o elemento em seus sites: 
  1. Vá para a aba Configuração
  2. Clique no elemento. 
  3. Clique em Editar barra de ação
  4. Clique em + Adicionar.
  5. Adicione o botão Conectar ao CMS connect e aceite a notificação. 

Acesse os dados da coleção através do código

Primeiro, escreva esta declaração import no código do widget: 
1import wixData from 'wix-data';
Para acessar sua coleção e executar várias ações, consultar, inserir etc., use a seguinte sintaxe com qualquer API wix-data. Por exemplo, é assim que você consulta uma coleção (saiba mais sobre seu namespace): 
1wixData.query("<yourAppNamespace>/<yourCollectionName>")
2  .find()
3  .then( (results) => {
4    //your code using the "results";
5  });
Saiba mais sobre como trabalhar com a API de dados do Wix

Esse artigo foi útil?

|