Desenvolvimento web com           Drupal 7Sérgio Santana de Lima
Drupal?O Drupal é comumente descrito como um Framework de Gerenciamento de Conteúdo, pois além de oferecer as funcionalida...
VantagensComunidadeFuncionalidades  Mais de 800 módulos estão disponíveis ou em   desenvolvimento atual para o Drupal 7, i...
DesvantagensDocumentação em inglêsTudo vai para o banco de dados
Normas de codificaçãoBaseado no PEAR Coding standardsRecuo e espaço em branco  2 espaços para recuo, sem tabulaçãoOperador...
Normas de codificaçãoEstruturas de controle if (condicao1 || condicao2) {   acao1; } elseif (condicao3 && condicao4) {   a...
Normas de codificaçãoSintaxe de controle alternativa para templates<?php if (!empty($item)): ?>  <p><?php print $item; ?><...
Normas de codificação Comprimento e quebra de linha    Em geral, as linhas não devem ultrapassar o     tamanho de 80 carac...
Normas de codificaçãoChamada de função $var = foo($bar, $baz, $quux); $short         = foo($bar); $long_variable = foo($ba...
Normas de codificaçãoDeclaração de funçãofunction funstuff_system($field) {  $system["description"] = t("This module inser...
Normas de codificaçãoMatriz$some_array = array(hello, world, foo => bar);$form[title] = array(  #type => textfield,  #titl...
Normas de codificaçãoConcatenações de String <?php    $string   =   Foo . $bar;    $string   =   $bar . foo;    $string   ...
Normas de codificaçãoConcatenações de String <?php    $string   =   Foo . $bar;    $string   =   $bar . foo;    $string   ...
Conceitos geraisNodeMóduloTemaRegião, bloco e menuUsuário, permissão e papelTaxonomia
NodeTermo genérico para uma parte do conteúdo no siteCada node tem um tipo de conteúdo
MóduloColeção de arquivos que contém funcionalidadesPode usar funções e variáeis do núcle do Drupal
Como criar um módulo?Criar pasta com nome do móduloO nome deve conter apenas letras minúsculas e sublinhadosNome do módulo...
Módulos essenciaisViewsTokenPanelsPathautoWebform
Módulo - ViewsPermite criar lista de conteúdoPossui API própria que permite outros módulos interagirem
Módulo - TokenPedaço de texto que pode ser colocado na marioria dos documentos via espaços reservados. Exemplo: %site-name
Módulo - PanelsPermite criar páginas em painéis diferentes com total controle do layout e de conteúdo
Módulo - PathautoGera automaticamente caminho alternativo de URL para os tipos de conteúdo baseado em padrões facilmente a...
Módulo - WebformPermite construir formulários via interface com validação dos dados
Gancho (hook)Permite interagir com o núcleo do DrupalCada hook tem um conjunto de parâmetros e tipo especificado
Exemplo de ganchofunction hook_node_insert($node) {  db_insert(mytable)    ->fields(array(    nid => $node->nid,    extra ...
TemaColeção de arquivos que define a camada de apresentaçãoRequer um arquivo .info, onde pode ser definido meta dados, fol...
Sugestão de modeloDrupal irá usar o modelo mais específicoExemplo do modelo node.tpl.php node--[type|nodeid].tpl.php node-...
TemaDentro do Drupal, a camada de apresentação utiliza a função theme(), o qual é passado o nome de um componente e uma ma...
Estrutura de arquivoArquivos na pasta raíz:  .htaccess  authorize.php  cron.php  index.php  install.php  update.php  xmlrp...
Estrutura de arquivosDiretórios dentro da raíz:  database  files  includes  misc  modules  profiles  scripts  sites  themes
Estrutura de pastas
Obrigado!
Bibliografiahttp://www.drupal.orghttp://www.redleafmedia.com/blog/drupal-7-file-structhttp://pt.wikipedia.org
Workshop - Desenvolvimento web com Drupal 7
Próximos SlideShares
Carregando em…5
×

Workshop - Desenvolvimento web com Drupal 7

1.230 visualizações

Publicada em

Visão geral como trabalhar com o Drupal 7, passando por normas de codificação, módulos e temas.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.230
No SlideShare
0
A partir de incorporações
0
Número de incorporações
286
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Workshop - Desenvolvimento web com Drupal 7

  1. 1. Desenvolvimento web com Drupal 7Sérgio Santana de Lima
  2. 2. Drupal?O Drupal é comumente descrito como um Framework de Gerenciamento de Conteúdo, pois além de oferecer as funcionalidades básicas de um CMS ele também implementa uma série de APIs robustas e apresenta uma estrutura modular que facilita o desenvolvimento de módulos extensivos.Fonte: http://pt.wikipedia.org/wiki/Drupal
  3. 3. VantagensComunidadeFuncionalidades Mais de 800 módulos estão disponíveis ou em desenvolvimento atual para o Drupal 7, incluindo Views, Pathauto, e WYSIWYGExtensibilidadeInternacionalizaçãoUsabilidade
  4. 4. DesvantagensDocumentação em inglêsTudo vai para o banco de dados
  5. 5. Normas de codificaçãoBaseado no PEAR Coding standardsRecuo e espaço em branco 2 espaços para recuo, sem tabulaçãoOperadores Espaço antes e depois de todos operadores binários
  6. 6. Normas de codificaçãoEstruturas de controle if (condicao1 || condicao2) { acao1; } elseif (condicao3 && condicao4) { acao2; } else { acaopadrao; }
  7. 7. Normas de codificaçãoSintaxe de controle alternativa para templates<?php if (!empty($item)): ?> <p><?php print $item; ?></p><?php endif; ?><?php foreach ($items as $item): ?> <p><?php print $item; ?></p><?php endforeach; ?>
  8. 8. Normas de codificação Comprimento e quebra de linha Em geral, as linhas não devem ultrapassar o tamanho de 80 caracteres Estrutura de controle podem exceder 80 caracteres se são simples de ler e entenderif ($something[with][something][else][in][here] ==mymodule_check_something($whatever[else])) { ... }
  9. 9. Normas de codificaçãoChamada de função $var = foo($bar, $baz, $quux); $short = foo($bar); $long_variable = foo($baz);
  10. 10. Normas de codificaçãoDeclaração de funçãofunction funstuff_system($field) { $system["description"] = t("This module inserts..."); return $system[$field];}
  11. 11. Normas de codificaçãoMatriz$some_array = array(hello, world, foo => bar);$form[title] = array( #type => textfield, #title => t(Title), #size => 60, #maxlength => 128, #description => t(The title of your node.),);
  12. 12. Normas de codificaçãoConcatenações de String <?php $string = Foo . $bar; $string = $bar . foo; $string = bar() . foo; $string = foo . bar; ?> <?php $string = "Foo $bar"; ?>
  13. 13. Normas de codificaçãoConcatenações de String <?php $string = Foo . $bar; $string = $bar . foo; $string = bar() . foo; $string = foo . bar; ?> <?php $string = "Foo $bar"; ?>
  14. 14. Conceitos geraisNodeMóduloTemaRegião, bloco e menuUsuário, permissão e papelTaxonomia
  15. 15. NodeTermo genérico para uma parte do conteúdo no siteCada node tem um tipo de conteúdo
  16. 16. MóduloColeção de arquivos que contém funcionalidadesPode usar funções e variáeis do núcle do Drupal
  17. 17. Como criar um módulo?Criar pasta com nome do móduloO nome deve conter apenas letras minúsculas e sublinhadosNome do módulo será usado em todos os arquivos e funçõesCriar arquivo com nome do módulo + sufixo .moduleCriar arquivo .info para descrição do módulo
  18. 18. Módulos essenciaisViewsTokenPanelsPathautoWebform
  19. 19. Módulo - ViewsPermite criar lista de conteúdoPossui API própria que permite outros módulos interagirem
  20. 20. Módulo - TokenPedaço de texto que pode ser colocado na marioria dos documentos via espaços reservados. Exemplo: %site-name
  21. 21. Módulo - PanelsPermite criar páginas em painéis diferentes com total controle do layout e de conteúdo
  22. 22. Módulo - PathautoGera automaticamente caminho alternativo de URL para os tipos de conteúdo baseado em padrões facilmente ajustáveis (Token)
  23. 23. Módulo - WebformPermite construir formulários via interface com validação dos dados
  24. 24. Gancho (hook)Permite interagir com o núcleo do DrupalCada hook tem um conjunto de parâmetros e tipo especificado
  25. 25. Exemplo de ganchofunction hook_node_insert($node) { db_insert(mytable) ->fields(array( nid => $node->nid, extra => $node->extra, )) ->execute();}function forum_node_insert($node) { if (_forum_node_check_node_type($node)) { if (!empty($node->forum_tid)) { // faz alguma coisa } }}
  26. 26. TemaColeção de arquivos que define a camada de apresentaçãoRequer um arquivo .info, onde pode ser definido meta dados, folhas de estilo, javascripts, regiões dos blocos e outrosUsa arquivos de modelo (.tpl.php) Sugestões de modeloHá um arquivo (template.php) para concentrar toda lógia e processamento dos dadosSuporta sub-temas
  27. 27. Sugestão de modeloDrupal irá usar o modelo mais específicoExemplo do modelo node.tpl.php node--[type|nodeid].tpl.php node--nodeid.tpl.php node--type.tpl.php node.tpl.php
  28. 28. TemaDentro do Drupal, a camada de apresentação utiliza a função theme(), o qual é passado o nome de um componente e uma matriz de variáveistheme(table, array(header => $header, rows => $rows));É possível criar uma saída customizada dentro do módulo com o gancho hook_theme
  29. 29. Estrutura de arquivoArquivos na pasta raíz: .htaccess authorize.php cron.php index.php install.php update.php xmlrpc.php
  30. 30. Estrutura de arquivosDiretórios dentro da raíz: database files includes misc modules profiles scripts sites themes
  31. 31. Estrutura de pastas
  32. 32. Obrigado!
  33. 33. Bibliografiahttp://www.drupal.orghttp://www.redleafmedia.com/blog/drupal-7-file-structhttp://pt.wikipedia.org

×