Desenvolvendo um Novo Tema para o Drupal 7

Crie uma aparência customizada para o seu site Drupal

Temas são plug-ins para o Drupal que desenvolvem ou melhoram a aparência principal do Drupal. Neste artigo, obtenha uma visão geral de como funciona o tema do sistema no Drupal, incluindo os vários componentes de um tema do Drupal e como determinar quais componentes são necessários ou quais são elementos opcionais, e aprenda a construir um novo tema do zero usando o mecanismo de tema padrão PHPTemplate .

Timi Ogunjobi, Software Engineer and Author, Xceedia Limited

Timi Ogunjobi é autor e desenvolvedor de aplicativos da web. É CEO da Xceedia Limited, uma empresa de engenharia de software com interesse na web e em aplicativos móveis. Também é o autor de três livros sobre o Drupal, entre vários outros. É possível entrar em contato com Timi pelo email timi@xceedia.co.uk.



26/Mai/2014

Uma conta do tema para a interface com o usuário (UI) de um website do Drupal. Mesmo que a estrutura do tema não tenha mudado consideravelmente, o Drupal versão 7 vem com uma nova metodologia de implementação de tema. Este artigo mostra como criar um tema do novo Drupal 7.

O objetivo de um tema Drupal é separar a lógica de processamento da estrutura a partir do elemento de design. Para isso, o Drupal emprega um sistema de tema complexo, que consiste em temas, mecanismos temáticos e ganchos. Os componentes do tema trabalham em conjunto com os sistemas centrais do Drupal e com elementos de design de módulos para criar a aparência distinta da interface com o usuário—a página e os formulários individuais do Drupal. Ao separar a lógica de negócio do Drupal de sua lógica de apresentação, o código é mais fácil de ser mantido e é possível trocar a implementação da camada de tema sem precisar reescrever a camada de código e vice-versa. A Figura 1 ilustra a arquitetura da estrutura do Drupal.

Figura 1. A arquitetura da estrutura do Drupal

Os temas exibem dados que o núcleo do Drupal busca a partir do banco de dados, por meio de um mecanismo do tema subjacente, que atua como uma interface entre o núcleo do Drupal e os modelos de tema.

O mecanismo de tema

Mecanismos de tema são os meios pelos quais os temas interagem com o núcleo do Drupal. Há vários mecanismos de tema que podem ser usados com o Drupal. Os mais populares são:

  • PHPTemplate
  • XTemplate
  • Plain PHP
  • Smarty Engine

Outros mecanismos de tema do Drupal

Vários outros mecanismos de tema são usados geralmente​com o Drupal. Eles incluem PHPTAL, wgSmarty, Zengine, Awesomengine, ETS, Haml, XSLengine e Peroxide. No entanto, este artigo usa o mecanismo PHPTemplate , porque é o mecanismo de tema padrão e o único enviado com o Drupal 7.

Também é possível usar seu próprio mecanismo customizado, se desejar.

O mecanismo de tema PHPTemplate , que é o padrão do mecanismo do Drupal e o mais usado neste artigo, usa arquivos de tema individuais com nomes como filename.tpl.php para ser o tema das funções theme_filename() do Drupal. Cada um desses arquivos contém um esqueleto HTML, bem como instruções PHP para os dados dinâmicos. Assim, com um conhecimento básico de PHP, é fácil criar temas avançados com PHPTemplate , pois estão envolvidos apenas pequenos bits de código.


Planejando o tema

O tema é constituído por vários arquivos. Assim como muitos arquivos dependem da complexidade do tema. Um tema pode ter apenas três arquivos ou centenas deles, incluindo elementos gráficos e vários scripts colocados em várias pastas dentro do diretório do tema. A Figura 2 mostra as descrições de arquivos típicos (cores, imagens, logotipo, modelos, folhas de estilo e arquivos PHP) que podem ser encontradas dentro da pasta principal de um tema.

Figura 2. Conteúdo típico de uma pasta de tema

Nem todos esses arquivos são necessários em um tema e alguns temas não têm sequer o arquivo de folha de estilo em cascata (CSS), que muitos pensam ser absolutamente necessário. Ao compreender como esses arquivos de tema são usados, a estrutura de um tema e como ele funciona se tornam mais claros. Vamos olhar novamente em algum dos arquivos no diretório do tema e examinar sua função dentro do tema geral.

O arquivo .info

O arquivo .info é um arquivo necessário: Deve ser incluído para que o Drupal veja o seu tema. Os arquivos .info informam ao Drupal o nome interno do tema. Se, por exemplo, o nome do arquivo for ibmtheme.info, logo, o nome que o Drupal dará a este tema será ibmtheme. Se o seu tema usa elementos como o JavaScript, metadados, folhas de estilo ou regiões de bloco, ele também deve ser definido no arquivo .info. Todo o resto é opcional. O conteúdo do arquivo .info para o tema Bartik, na Listagem 1, ilustra este comportamento.

Listagem 1. Conteúdo do arquivo .info de tema Bartik
; $Id: bartik.info,v 1.5 2010/11/07 00:27:20 dries Exp $

name = Bartik
description = Um tema flexível e tangível novamente com muitas regiões.
package = Core
version = VERSION
core = 7.x

stylesheets[all][] = css/layout.css
stylesheets[all][] = css/style.css
stylesheets[all][] = css/colors.css
stylesheets[print][] = css/print.css

regions[header] = Header
regions[help] = Help
regions[page_top] = Page top
regions[page_bottom] = Page bottom
regions[highlighted] = Highlighted

regions[featured] = Featured
regions[content] = Content
regions[sidebar_first] = Sidebar first
regions[sidebar_second] = Sidebar second

regions[triptych_first] = Triptych first
regions[triptych_middle] = Triptych middle
regions[triptych_last] = Triptych last

regions[footer_firstcolumn] = Footer first column
regions[footer_secondcolumn] = Footer second column
regions[footer_thirdcolumn] = Footer third column
regions[footer_fourthcolumn] = Footer fourth column
regions[footer] = Footer

settings[shortcut_module_link] = 0


; Informações incluídas pelo script do pacote do drupal.org em 05-01-2011
version = "7.0"
project = "drupal"
datestamp = "1294208756"

Os arquivos de modelo .tpl.php

O diretório do tema contém vários arquivos de modelo com nomes como xxx.tpl.php. Eles são arquivos de modelo que contêm a marcação Extensible HTML (XHTML) e variáveis PHP para o tema. Em certos casos, é possível codificá-los para entregar os outros tipos de saída de dados, como RSS. De um modo geral, cada arquivo tpl.php de tema do Drupal é codificado para lidar com as saídas de dados específicas: Pode ser confuso e contraproducente incorporar uma lógica complexa em arquivos de modelo, pois isso pode torná-los difíceis de serem mantidos. O cenário desejável é que eles contenham nada mais que as tags XHTML lineares e variáveis​PHP.

A Listagem 2 mostra o conteúdo do arquivo node.tpl.php, que descreve a saída do nó de base para o tema principal Garland.

Listagem 2. Conteúdos do arquivo node.tpl.php de tema Garland
<?php
// $Id: node.tpl.php,v 1.24 2010/12/01 00:18:15 webchick Exp $
?>
<div id="node-<?php print $node->nid; ?>" 
  class="<?php print $classes; ?>"<?php print $attributes; ?>>

  <?php print $user_picture; ?>

  <?php print render($title_prefix); ?>
  <?php if (!$page): ?>
    <h2<?php print $title_attributes; ?>><a href="<?php 
       print $node_url; ?>"><?php print $title; ?></a></h2>
  <?php endif; ?>
  <?php print render($title_suffix); ?>

  <?php if ($display_submitted): ?>
    <span class="submitted"><?php print $submitted ?></span>
  <?php endif; ?>

  <div class="content clearfix"<?php print $content_attributes; ?>>
    <?php
   // Oculte os comentários e links agora para que seja possível renderizá-los mais tarde.
      hide($content['comments']);
      hide($content['links']);
      print render($content);
    ?>
  </div>

  <div class="clearfix">
    <?php if (!empty($content['links'])): ?>
      <div class="links"><?php print render($content['links']); ?></div>
    <?php endif; ?>

    <?php print render($content['comments']); ?>
  </div>

    </div>

O arquivo template.php

O arquivo template.php normalmente tem toda a lógica condicional e o processamento de dados para a saída de um tema. Também é possível usar o arquivo template.php para manter os arquivos .tpl.php para o tema organizado. Como esse é um arquivo PHP, é obrigatório iniciar o conteúdo com uma tag <?php de abertura de PHP, mas é possível omitir a tag de fechamento.

Outros arquivos

Vários outros elementos não são necessários para o funcionamento do tema, mas podem aparecer em muitos temas. Esses elementos incluem o logotipo e captura de tela, o arquivo theme-settings.php e os arquivos color.inc:

  • O logotipo e a captura de tela. Estes elementos são recomendados, mas não absolutamente necessários para o funcionamento do tema. No entanto, caso queira contribuir com o seu tema para o repositório do Drupal, uma captura de tela é obrigatória. A Figura 3 é uma captura de tela para o tema Garland.
    Figura 3. Captura de tela do tema Garland
  • theme-settings.php. Este arquivo exibe as configurações de IU administrativa ou recursos avançados, além de configurações gerais, como as de busca ou o logotipo da missão. Um olhar sobre o conteúdo deste arquivo para o tema Garland, mostrado na Listagem 3, proporciona uma indicação do que deveria finalmente ser exibido.
    Listagem 3. Conteúdo do arquivo theme-settings.php de tema Garland
    // $Id: theme-settings.php,v 1.3 2010/09/04 15:21:09 seca Exp $
    
    /**
     * @file
     * Os retornos de chamada de configuração de tema para o tema Garland.
     */
    
    /**
     * Implementa hook_form_FORM_ID_alter().
     *
     * @param $form
     *   The form.
     * @param $form_state
     *   The form state.
     */
    function garland_form_system_theme_settings_alter(&$form, &$form_state) {
    
      $form['garland_width'] = array(
        '#type' => 'radios',
        '#title' => t('Content width'),
        '#options' => array(
          'fluid' => t('Fluid width'),
          'fixed' => t('Fixed width'),
        ),
        '#default_value' => theme_get_setting('garland_width'),
        '#description' => t('Specify whether the content will wrap to a fixed 
           width or will fluidly expand to the width of the browser window.'),
        // Coloque isso acima das opções do esquema de cores.
        '#weight' => -2,
      );
    }

    A exibição eventual será uma forma que se assemelha à Figura 4.

    Figura 4. A página de configurações de tema
  • color.inc. A função da cor. O módulo permite aos administradores alterar completamente um esquema de cores do tema sem ter de trabalhar manualmente nas folhas de estilo. Se o tema requer apoio do módulo de cor, é preciso incluir um diretório color com um arquivo color.inc juntamente com os vários arquivos de suporte.

Desenvolvendo o tema

Existem dois métodos básicos para o desenvolvimento de um tema: É possível desenvolvê-lo a partir do zero ou modificar um tema já existente. Neste artigo, você desenvolve um novo tema a partir do zero. Dito isto, porém, você manterá o conteúdo de temas úteis existentes para o propósito de ver como a estrutura fica.

Criando a estrutura de diretório

Primeiro, crie um diretório para conter os arquivos do tema. O melhor lugar para colocar esse diretório é no diretório sites/all/themes. Dê ao diretório um nome único que descreva o tema: Esse nome não deve ter espaços.

Embora não seja obrigatório, ele ajuda a criar subdiretórios para a folha de estilo (arquivos CSS), imagens e scripts (se o seu tema usá-los). Fazer isso ajudará a manter as coisas organizadas.


Desenvolvendo o arquivo .info

O arquivo .info é apenas um arquivo de texto contendo dados—geralmente, os parâmetros necessários para descrever a estrutura, bem como o conteúdo e a configuração do tema. Dentro deste arquivo de texto, cada linha faz par com uma chave para um valor, com o valor à direita e a chave à esquerda do sinal de igual (=). Listagem 4 dá um exemplo.

Listagem 4. Conteúdo de amostra do arquivo .info de tema Garland
; $Id: garland.info,v 1.10 2010/11/07 00:27:20 dries Exp $
name = Garland
description = A multi-column theme that can be configured to modify colors and
   switch between fixed- and fluid-width layouts
package = Core
version = VERSION
core = 7.x
stylesheets[all][] = style.css
stylesheets[print][] = print.css
settings[garland_width] = fluid

; Informações incluídas no script de pacote no drupal.org em 05-01-2011
version = "7.0"
project = "drupal"
1[ OPEN SOURCE\index.xml 31/05/2012] -

Inclui-se comentários usando ponto e vírgula (;) no começo de uma linha. Colchetes retos ([]), quando usados, são para a criação de matrizes de valores associados. Vamos percorrer os elementos que devem ou podem ser incluídos em um arquivo .info.

Nome

O valor name é necessário. Deve ser um nome legível, que comece com um caractere alfabético. O nome tem a mesma limitação para a formação de funções em PHP, porque o Drupal usa-o para o mesmo propósito. Portanto, o nome pode conter números sublinhados (_) mas não hífens (-), espaços ou pontuação. Segue a sintaxe:

name = Garland

Descrição

A chave description é recomendada e deve ser apenas uma breve descrição do tema. A descrição inserida aqui aparece no tema selecionado ou na página Aparência . Segue a sintaxe:

description = A multi-column theme that can be configured to modify colors
   and switch between fixed- and fluid-width layouts

Screenshot

A chave screenshot é opcional. Sua função é informar ao Drupal onde encontrar a imagem miniatura do seu novo tema. A imagem miniatura será exibida na página Aparência . Se você não incluir essa tecla no arquivo .info, o Drupal chamará um arquivo screenshot.png padrão do diretório do tema padrão. Se você decidir chamar o seu arquivo miniatura com um nome diferente de screenshot.png ou colocar o arquivo em um diretório fora do diretório principal do seu tema, precisará incluir esta tecla. Segue a sintaxe:

screenshot = /images/screenshot.png

Para criar uma captura de tela, basta capturar uma imagem do seu tema completo em um navegador. Em seguida, corte e redimensione a imagem para uma dimensão de 294 x 219 pixels e salve-a como screenshot.png. Coloque esse arquivo na mesma pasta em seu arquivo .info.

Version

Embora muitos dos temas populares incluam a chave version , seu uso é não é incentivado. Se você pretende hospedar o seu tema no repositório de temas do Drupal, não há necessidade de incluir version, porque quando um release é embalado para download, o drupal.org inclui automaticamente a sequência de versão. Caso contrário, é possível incluir qualquer sequência de versão que desejar. Segue a sintaxe:

version = 1.0

Núcleo

A chave core é um valor necessário. Em todas as versões atualmente suportadas pelo Drupal, é preciso indicar a versão do Drupal com a qual seus módulos e temas são compatíveis. O valor definido aqui será comparado à constante de Compatibilidade do Núcleo do Drupal (encontrada no arquivo include/bootstrap.inc); se nenhuma correspondência for encontrada, o Drupal desativará o tema. Segue a sintaxe para a constante:

<?php
define('DRUPAL_CORE_COMPATIBILITY', '7.x')
?>

Os scripts de empacotamento drupal.org definem automaticamente este valor com base na configuração de compatibilidade do núcleo do Drupal em cada nó de release (se você estiver contribuindo com seu tema).

Mecanismo

A chave engine indica o tipo de mecanismo que o seu tema usa. É necessário na maioria dos casos. Se você não fornecer o engine no arquivo .info, o Drupal assume que o tema é independente, implementado com um arquivo .theme. A maioria dos temas encontrados no repositório Drupal.org usa o mecanismo PHPTemplate padrão, que é fornecido com o núcleo do Drupal. Segue a sintaxe:

engine = phptemplate

Base theme

Se o tema for um subtema para outro, certifique-se de declarar o seu base theme para ativar a herança de tema. Em outras palavras, os recursos do arquivo do tema de base estarão disponíveis para uso no subtema. Será necessário inserir o nome legível por máquina interno do tema de base. Segue a sintaxe:

base theme = garland

Regions

Criando novas regiões de tema

Qualquer parte de sua página que deseja ser capaz de editar na página de administração dos Blocos será necessária para se tornar uma região. Normalmente, essa região inclui o cabeçalho, barra lateral direita, área de conteúdo e rodapé. É preciso apresentar todas as suas regiões no arquivo .info; caso contrário, eles não existirão para o Drupal.

A chave regions define as regiões de bloco disponíveis para o tema. É preciso definir especificamente a chave regions e, em seguida, o nome legível por máquina interno entre colchetes retos. Então, é preciso definir o nome legível como o valor aplicável. Segue a sintaxe:

regions[highlighted] =Mission Statement

Se você optou por não definir nenhuma região, os seguintes valores serão assumidos para um tema do Drupal 7:

regions[header] = Header
regions[highlighted] = Highlighted
regions[help] = Help
regions[content] = Content
regions[sidebar_first] = Left sidebar
regions[sidebar_second] = Right sidebar
regions[footer] = Footer

É possível substituir esses valores para suas necessidades específicas. Se você fizer isso, deverá declarar a linha. Segue a sintaxe:

regions[highlighted] =Mission Statement

Recursos

É possível alternar vários elementos da página na página de configuração do tema. As caixas de verificação exibidas na página de configuração do tema são controladas pela chave features (consulte a Figura 5). Assim, é possível suprimir caixas de seleção para os elementos que não são definidos nem usados por um tema. A omissão de uma entrada suprime uma caixa de seleção para esse recurso. Se você não definir todas as características, então, todas as caixas de seleção serão exibidas como padrões assumidos.

Figura 5. O tema apresenta a página de configuração

A Listagem 5 mostra todos os elementos disponíveis para a chave features .

Listagem 5. Entrada de recursos temáticos no arquivo .info
features[ ] = logo
features[ ] = name
features[ ] = slogan
features[ ] = node_user_picture
features[ ] = comment_user_picture
features[ ] = favicon
features[ ] = main_menu
features[ ] = secondary_menu

Stylesheets

Os temas do Drupal usados como padrão para o uso do style.css. No entanto, nas versões atuais, os temas não são mais padrão do style.css se esse arquivo não for especificado no arquivo .info. Além disso, é possível incluir novas folhas de estilo por meio do arquivo .info. Segue a sintaxe:

stylesheets[all][] = css/style.css
stylesheets[print][] = css/print.css

Scripts

Costumava ser comum para incluir arquivos JavaScript apenas chamando uma função, como drupal_add_js() no arquivo template.php do tema. No entanto, no Drupal 7, o script.js é incluído apenas se você especificá-lo no arquivo .info. Segue a sintaxe:

scripts[] = scripts/myscript.js

PHP

A sequência definida aqui será a versão PHP mínima que suporta o tema. O valor padrão deriva da constante DRUPAL MINIMUM PHP (localizada no arquivo includes/bootstrap.inc):

<?php
define('DRUPAL_MINIMUM_PHP', '5.2.4')
?>

É possível alterar esse valor, mas não é necessário incluir a sequência. Segue a sintaxe:

php = 5.2.4

Valores padrão do .info

O arquivo .info contém valores padrão que o Drupal assume para cada tema instalado. Se esses valores não estiverem definidos no arquivo .info, o Drupal força o tema para usar os valores padrão. Observe, no entanto, que esses valores são aplicáveis como um grupo. Isso significa que, se você substituir uma linha como:

regions[sub_header] = Sub-header

será necessário redefinir o resto das regiões padrão; caso contrário, elas serão omitidas. Esta regra também se aplica a stylesheets. Embora a chave stylesheets não esteja definida tecnicamente em um grupo, se você definir uma outra stylesheet no arquivo .info, deverá redefinir novamente o style.css; caso contrário, não será incluído.

As chaves e valores na Listagem 6 são os padrões para um tema do Drupal 7.

Listagem 6. Valores padrão do .info
regions[sidebar_first]  = Left sidebar
regions[sidebar_second] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
regions[highlighted] = Highlighted
regions[help] = Help
regions[page_top] = Page Top
regions[page_bottom] = Page Bottom

engine = phptemplate

features[ ] = logo
features[ ] = name
features[ ] = slogan
features[ ] = node_user_picture
features[ ] = comment_user_picture
features[ ] = favicon
features[ ] = main_menu
features[ ] = secondary_menu

screenshot = screenshot.png

Desenvolvendo o arquivo page.tpl.php

Agora, examine o conteúdo de um típico arquivo page.tpl.php. A imagem na Figura 6 é a partir do tema Garland e mostra como a fonte se parece em um navegador.

Figura 6. O código fonte page.tpl.php é um navegador

Ao olhar mais de perto, o modelo page.tpl.php é apenas uma página HTML simples com uma grande pitada de instruções PHP. Muito convenientemente, a maioria dos elementos do PHP já foi definida para o Drupal e tudo o que é preciso ser feito é colocá-los como quiser.

Observação: O link http://drupal.org/node/190815 [Core Templates] leva a uma lista de variáveis​disponíveis para o modelo page.tpl.php.

Inclusão de variáveis aos elementos básicos da página

Várias variáveis estão disponíveis para o desenvolvimento de um page.tpl.php. O que você escolheu para incluir depende da funcionalidade que deseja alcançar em seu tema. Por exemplo, se você optar por ter trilhas de navegação em suas páginas, inclui a variável $breadcrumbs .

As variáveis mais comuns que você encontrará no page.tpl.php são:

  • $site_name
  • $logo (o logotipo carregado por meio das configurações de tema; só é útil quando você implementa o recurso de tema do logotipo)
  • $title (o título da página)
  • $main_menu
  • $secondary_menu
  • $breadcrumbs (um auxílio à navegação que deixa um rastro de links de referência quando um usuário se aprofunda em um website)

Também há as variáveis associadas com a administração do Drupal:

  • $tabs (menu usado para edição ou visualização de menus de administração, entre outras coisas; muitas vezes, usado por módulos)
  • $messages
  • $action_links

E algumas outras variáveis são úteis:

  • $base_path (o caminho para a raiz do seu site)
  • $front_page (o caminho para a página inicial do site)
  • $directory (o caminho do seu tema)

É possível inserir variáveis usando a interface de programação de aplicativos (API) do Render, como esta:

<?php print render($tabs); ?>

Se suas qualificações em PHP e HTML estiverem acima da média, evidentemente será possível criar um tema campeão, observando como o exemplo foi desenvolvido e, em seguida, usando as variáveis permitidas para criar a sua própria.


Desenvolvendo outros arquivos de modelo

Imprimir ou renderizar

Algumas variáveis precisam ser exibidas usando a função render() , enquanto outras podem simplesmente ser impressas. Se uma matriz contiver uma variável, conforme listado na página de referência page.tpl.php (consulte Recursos para um link), é necessário usar render(). Caso negativo, é possível imprimir a variável (<?php print $variable; ?>).

Os modelos padrão para outros arquivos de tema estão disponíveis e vêm com o núcleo do Drupal. É possível localizar uma lista deles no site do Drupal (consulte Recursos para obter um link). Assim como para o arquivo page.tpl.php, a melhor maneira de desenvolver facilmente o seu próprio site é encontrar um arquivo principal, observar como ele foi elaborado e, em seguida, desenvolver o seu próprio. Uma viagem para o site Drupal apontará para as variáveis permitidas para uso em qualquer arquivo de tema.


O arquivo style.css

Em uma página estática HTML normal, é preciso incluir um ponteiro dentro do cabeçalho da página para mostrar a localização da folha de estilo a ser usada para a exibição da página. Um ponteiro se parece com:

<link rel="stylesheet" type="text/css" href="/model.css" />

Conforme já foi discutido, é possível incluir novos estilos a um tema e sobrescrever estilos padrão. Em ambos os casos, é preciso inserir o tema na folha de estilo no arquivo .info. O que há na folha de estilo? O mesmo tipo de abordagem modular é usado para classes CSS que o núcleo do Drupal usa para elementos de página padrão da estrutura. Mesmo que os desenvolvedores criem seu próprio tema, ocorrem diversas classes em todo o site Drupal. Para obter uma lista completa de classes no núcleo do Drupal 7, consulte Recursos.


Conclusão

Este artigo forneceu uma visão geral de como funciona o sistema de temas no Drupal 7. Ele explicou os vários componentes de um tema do Drupal e como proceder com a construção de um novo tema a partir do zero usando o mecanismo de tema padrão PHPTemplate . Você viu a estrutura típica de cada arquivo de tema do componente. É necessário ter o que precisa para criar o seu próprio tema customizado. Aproveite!

Recursos

Aprender

Obter produtos e tecnologias

  • Obtenha mais informações sobre o Drupal 7.
  • Avalie os produtos IBM da maneira que for melhor para você: faça download da versão de teste de um produto, avalie um produto on-line, use-o em um ambiente de nuvem ou passe algumas horas na SOA Sandbox para saber mais sobre como implementar arquitetura orientada a serviço (SOA) de maneira eficiente.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=819863
ArticleTitle=Desenvolvendo um Novo Tema para o Drupal 7
publish-date=05262014