Operação
Solução de problemas
Diagnosticar rotas, permissões, renderização e assets desatualizados.
Uma rota responde 404
Numa rota estática, verifique a pasta e o index.tpl dela, e que ela não tenha route.inc: uma rota estática com um route.inc que nunca aceita responde 404. Numa rota dinâmica, verifique se o ./nimbly routes:sync a registrou, e siga o route.inc: os segmentos correspondidos, a validação e se ele chega a router_accept().
Um shortcode aparece como texto
Um shortcode que o Nimbly não consegue resolver é exibido como foi escrito. Verifique o nome do template ou da biblioteca e a pasta (ext/tpl/<name>/index.tpl, ext/lib/<name>.php). Um template chamado com parâmetros também não é exibido: defina as variáveis que ele lê antes da chamada. Uma variável que só é definida dentro da shell da página, como site-name, não está disponível numa rota sem [#html#].
Uma requisição à API é negada
Verifique se o usuário da integração tem acesso à API, se o token não expirou (10 minutos) e se a função tem a permissão. O campo needs da resposta lista as permissões que permitiriam a requisição.
O conteúdo aparece errado
Verifique o tipo do campo no .meta, os valores por idioma dos campos traduzidos e o shortcode que exibe o campo: [#get-html#] para texto formatado, [#get#] para valores simples. O [#fmt#] lê uma variável com var=; val= recebe um valor literal. O markup condicional vai num template próprio, porque o [#if#] não tem forma de bloco.
Um valor não muda
O [#set#] mantém um valor existente. Acrescente overwrite quando quiser substituí-lo. Uma lista que mostra valores antigos depois que um arquivo de registro foi editado à mão precisa de ./nimbly data:cache:clear; uma busca que não encontra um registro depois de uma importação precisa de ./nimbly index:rebuild <resource>.
Os assets parecem desatualizados
Rode ./nimbly build e verifique se o ambiente serve os novos app.css e app.js; a versão no endereço deles segue ext/static/app.version. Depois de uma atualização do core, o painel avisa quando os assets precisam de um novo build. Uma classe que nunca aparece geralmente vem de uma variável sem aspas.
Jobs ou e-mails não rodam
Rode ./nimbly schedule:status para ver se o agendador está rodando, e abra /nb-admin/jobs para ver o erro de um job falho. As configurações de e-mail ficam no .env; veja E-mail e Jobs e o agendador.