Pular para o conteúdo principal

Gerenciando modelos

Ao criar um modelo, você provavelmente vai querer fazer uma ou mais modificações nele. Nessa seção, explicaremos como você pode criar e gerenciar o seu modelo por meio da edição e das suas configurações. Caso você queira aprender sobre as categorias, nós as explicamos na próxima seção.

Criando modelos

Para criar um novo modelo, basta estar dentro de uma área de trabalho, clicar em "Modelos" na barra lateral e então clicar em "Novo modelo" na direita. Quando você for criar um novo modelo, por padrão ele terá:

  • Um nome (que será utilizado para identificar o modelo na interface, por exemplo: Jogadores de Futebol)
  • Um slug (que identificará unicamente o modelo, por exemplo: jogadores-de-futebol)
  • Uma URL de prévia (que auxiliará você a visualizar o modelo na aplicação que você criou)
  • Um editor de campos (que será utilizado para criar e editar os campos do seu modelo)
Sobre os campos

Você pode aprender mais sobre os campos na próxima seção

Quando você estiver satisfeito com os campos e tiver preenchido seu nome e slug, basta clicar em "Salvar" no canto superior-direito e seu modelo estará pronto. Na seção seguinte, apresentaremos os tipos de campos e como eles podem ser configurados e gerenciados nesse editor.

Editando modelos

Para editar um modelo, basta estar dentro de uma área de trabalho, clicar em um dos modelos na barra lateral e então clicar em "Editar modelo" na barra. Você então entrará numa página igual a de criação de modelo, mas com todos os campos preenchidos da forma que você criou. Para salvar as mudanças feitas, basta clicar em "Salvar" no canto superior-direito.

Chaves dos campos

Antes de tudo, é importante explicar como o Starlight lida com mudanças de chaves dos seus campos. Atualmente, quando um desenvolvedor atualiza a chave de um campo, o conteúdo daquele campo nas entradas desaparecerá na interface, mas o conteúdo não será deletado ou perdido - se o desenvolvedor alterar a chave de volta para o nome antigo, os dados antigos reaparecerão. A mesma coisa acontecerá quando um campo é deletado - os dados presentes nesses campos não serão perdidos.

Por causa disso, não é recomendado mudar as chaves dos campos ou deletá-los, apesar de ser possível. Uma melhor alternativa para isso seria arquivar o campo com o nome antigo (ao invés de renomeá-lo) e criar um novo campo com o novo nome. Dessa forma, tanto os dados antigos quanto os novos seriam retornados pela API, e o campo antigo não aparecerá no editor de entradas por padrão (mas ainda pode ser visto com a opção "Mostrar campos arquivados").

Visualização na API

Ao lado do botão de salvar, há um botão de "Visualizar na API". Ao clicar nele, você será redirecionado para uma página que contém apenas o JSON com informações gerais daquele modelo, como a data de criação e o número de entradas. Dependendo do navegador, o JSON poderá ser meio ilegível nessa forma "crua" (não-formatada), mas existem extensões nos navegadores que permitem uma melhor visualização, como essa para o Chrome. Já o Firefox, por exemplo, tem um visualizador de JSON nativo.

Usuários autorizados a visualizar

Apenas administradores ou usuários com permissão de criar ou editar modelos verão esse botão.

URL de prévia

Um dos campos da edição de modelos é a "URL de prévia", que serve para configurar a visualização de prévias das entradas desse modelo. Com essa configuração, você pode habilitar a pré-visualização de entradas diretamente na sua aplicação. Ou seja, você poderar editar sua entrada e visualizar como ela ficará na sua interface após as mudanças.

Para configurar a URL de prévia, basta escrever a URL do seu site fazendo substituições onde aparecem slugs/IDs de modelos, entradas e/ou categorias por {{model}}, {{entry}} e {{category}}, respectivamente, além de informar um token ({{token}}). Esse token deve ser informado como parâmetro na query da URL e é utilizado na requisição da pré-visualização de uma entrada, e basicamente ele informa ao Starlight qual revisão (versão) do texto você quer visualizar.

Explicando melhor, vamos supor que a URL da sua aplicação seja futebol.com.br e que você queira acessar a página "Ronaldinho" (entrada) do modelo "Jogadores". Para esse fim, você configurou as rotas do seu site para terem o nome do modelo e o nome da entrada depois da URL - ou seja, para acessar essa página, você iria na URL futebol.com.br/jogador/ronaldinho. Seguindo essa lógica, você deveria configurar a sua URL de prévia como http://futebol.com.br/{{model}}/{{entry}}?preview={{token}} - aqui, o token está sendo informado na query com o parâmetro de preview.

Sobre a URL do seu site

Não é obrigatório você configurar o seu site para ter o nome do modelo em sua URL! Você poderia fazer algo como futebol.com.br/ronaldinho (http://futebol.com.br/{{entry}}?preview={{token}}) ou futebol.com.br/melhores/ronaldinho (http://futebol.com.br/melhores/{{entry}}?preview={{token}}).

Dica

É possível utilizar uma URL local como URL de prévia (por exemplo: http://localhost:3000/{{model}}/{{entry}}?preview={{token}}). Isso é útil quando você está apenas testando o projeto.

Após a configuração da URL, é necessário configurar a sua aplicação para receber o token e utilizá-lo na requisição da entrada. No nosso exemplo colocamos o token na query, e as maneiras de extrair parâmetros de query variam entre linguagens e frameworks, então não iremos explicá-las aqui. Para utilizar o token na requisição da entrada, basta adicionar um novo parâmetro do tipo objeto ao método de get() de uma entrada com um atributo preview de valor igual ao token (por exemplo: [...].get(entrySlug, { preview: token })). E pronto! Se todos os passos foram seguidos corretamente, você poderá visualizar qualquer entrada daquele modelo no seu site. Para mais informações sobre a requisição, consulte a página de documentação desse método do SDK.