Drupal: Como os dados são moldados dentro da estrutura de camadas

Para ter total controle sobre o seu Tema no Drupal, você precisa entender como os dados são moldados no transcorrer de seu fluxo dentro das camadas (layers) do sistema.

Leia também Conceito por tras do Drupal

Imagine a linha de produção de uma fábrica onde a(s) matéria(s) primas entram de um lado, são trabalhadas (transformadas) e do outro sai o produto acabado.
As cinco principais camadas a serem consideradas são:
  1. Na base do sistema temos uma coleção de "nodes", ou seja, um punhado de materia prima (dados) que precisa ser trabalhada (moldada) antes de apresentarmos (display) para o usuário.
  2. A próxima camada acima é onde os módulos (plugins) residem. Módulos são tanto aqueles que compõem o núcleo do Drupal (já vem na instalação inicial) como aqueles que podem ser baixados em separado que foram desenvolvidos pela comunidade Drupal (http://drupal.org/project/modules) e que estão em constante expansão e atualização.
    Assim como o Drupal propriamente dito, todos os módulos feitos pela comunidade são open source, desenvolvidos com a colaboração de indivíduos bem como grande corporações.
  3. Na camada seguinte temos os blocos e menus. Blocos e menus são basicamente as seções da prateleira (a página do seu site) onde os dados resultantes da elaboração feita pelos módulos são colocados a disposição do tema (layout - última camada) para serem apresentados ao usuário.
    Blocos podem ser configurados para apresentar dados de várias formas, bem como para aparecerem somente nas páginas que você queira ou para aparecerem somente para os usuários que você queira ou ainda uma combinação de ambos.
  4. A seguir temos as permissões, nesta camada o sistema determina se o usuário pode ou não visualizar ou interagir com os dados acomodados na nossa prateleira.
    As permissões são atribuídas aos cargos (Papeis na versão traduzida ou Roles na versão em inglês) e cada usuário, por sua vez, pode ser alocado para um ou mais papeis.
  5. No topo temos a o tema (theme ou skin - pele) que é a camada que determina a aparência do seu site.
    Essa camada é predominantemente feita de XHTML e CSS, misturado com algumas variáveis em PHP, desta forma o conteúdo gerado pelas camadas anteriores podem ser manipuladas pelo designer para que os dados finais sejam propriamente acomodadas nos lugares corretos.
    Temas por si só possuem uma variedade de funções (métodos) que podem sobre-escrever as funções (métodos) padrões dos módulos para que o designer possa ter total controle sobre os marcadores html no momento que estes são gerados (output time).
    Temos podem ainda serem determinados em output time conforme a(s) permissão(ões) que o usuário possua.
Esse fluxo direcional da base ao top determina como o Drupal funciona.
Aquela nova funcionalidade não tá aparecendo?
Talvés você esqueceu de ativar o módulo recém baixado. Isso faria o sistema não funcional conforme pode ser observado, de baixo para cima, na coluna "A" do diagrama acima a partir da camada "Modules".
Ou talves o novo módulo tenha sido instalado e ativado corretamente mas você esqueceu de ativar o bloco, conforme pode ser visto na coluna "B" camada "3".
Ou ainda, talvez você não tenha dado a permissão necessária aos usuários daquele grupo (papeis) conforme pode ser visto na coluna "C" camada "4".
Adicionalmente, conforme mencionado anteriormente, se você deseja ter ainda mais controle sobre o resultado XHTML (module output), então você precisa compreender esse fluxo tratado aqui.
Por exemplo, se você instalou um módulo que faz exatamente o que você precisa mas você gostaria apenas que os marcadores HTML fossem um pouquinho diferente, ou você precisa que algumas tags HTML sejam outras, ou mesmo você precisa adicionar uma ou mais classes CSS, você pode moldar o output copiando a função do módulo, que cria o output a ser modificado, para o seu tema, modifique o código para atender a sua necessidade e assim a sua alteração será considerada na última camada. Você pode ainda criar o seu próprio módulo para fazer o mesmo e assim modificar os dados ainda na camada dos módulos.

  • Compartilhe:

  • RSS
  • -->
  • Digg this
  • Face book
  • Bookmark and Share

0 comentário(s)

Postar um comentário-

Postar um comentário

Comentaristas-

BlogBlogs