Ir para o conteúdo
Bondry

Módulos e temas

Instalando um zip, ativando e desativando, o que uma desinstalação remove, e como temas-filhos protegem o seu trabalho.

Módulos e temas se instalam do mesmo jeito: um zip que você envia pelo painel. Não há etapa de build nem nada para rodar num terminal.

Instalando um módulo#

Modules > Add recebe o zip. O painel então:

  1. abre o zip num diretório temporário isolado;
  2. lê e valida o module.json;
  3. confere os requisitos: a versão do core, a versão do PHP, as extensões e qualquer módulo do qual ele dependa;
  4. move o módulo para o lugar dele, roda a instalação e as migrações;
  5. publica os assets dele;
  6. limpa os caches.

Se um requisito não é atendido, a instalação é recusada com o motivo. Nada fica instalado pela metade.

Warning Instalar um módulo roda PHP de terceiros com os privilégios do seu site. Não existe sandbox para isso em PHP, no Bondry nem em lugar nenhum. Instale módulos que você obteve de nós ou de um autor em quem confia.

Ativando, desativando e desinstalando#

Ação O que acontece com os dados
Desativar Nada é tocado. O módulo desaparece do site e do painel.
Ativar Ele volta exatamente como estava.
Desinstalar O módulo apaga as próprias tabelas e remove os arquivos dele.

Um módulo só pode criar tabelas com o prefixo mod_<slug>_, e essas são as únicas que uma desinstalação remove. O core nunca é tocado, por design e por imposição: o painel recusa instalar um pacote cujas migrações alcancem algo fora desse prefixo.

Módulos-filhos#

Alguns módulos estendem outro módulo em vez do core: os gateways de pagamento estendem o Payments, por exemplo. Um filho aparece recuado abaixo do pai na lista. Desativar o pai desativa os filhos, e desinstalar um pai é bloqueado enquanto um filho dele ainda estiver instalado.

Quando um módulo fica incompatível#

Cada módulo declara a versão do core que suporta. Dois estados podem acontecer:

  • Desatualizado: o módulo foi testado contra um core mais antigo. Ele carrega um aviso âmbar e continua funcionando.
  • Incompatível: um requisito deixou de ser atendido. O módulo é desativado automaticamente na inicialização e não pode ser ativado até ser atualizado.

Um módulo quebrado ou ausente nunca derruba o site.

Instalando um tema#

Appearance > Themes leva o zip do tema pelo mesmo fluxo, validando o theme.json no lugar. Trocar de tema muda só a apresentação: nenhum conteúdo é tocado.

O personalizador#

Appearance > Themes > Customise expõe os controles que o tema declara: logo, favicon, nome do site, cores, raio, fontes, largura do container e padrão claro ou escuro. Os valores ficam guardados no banco de dados e são aplicados como variáveis CSS, então uma mudança tem efeito imediato, sem nada para recompilar.

Temas-filhos#

Esta é a parte que vale a pena entender antes de você editar qualquer coisa.

Editar um tema no modo avançado nunca modifica o original. O Bondry cria (ou reaproveita) um tema-filho, dá a ele o original como pai, carrega os seus valores do personalizador e aplica as suas mudanças ali. Se o pai estava ativo, o filho assume.

O resultado: atualizar o tema pai com um zip novo nunca perde o seu trabalho. Se o tema que você está editando já é um filho, as edições entram nele diretamente.

Removendo um tema#

Um tema pode ser desinstalado como um módulo: o diretório dele, os assets publicados e as configurações dele saem. Duas travas se aplicam. Você não pode remover um tema que está na cadeia ativa, e não pode remover um pai enquanto um filho dele estiver instalado.