• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
Início

Pesquisa no site

Google

Treinamento Drupal 25 de Abril de 2009 em São Paulo

Itens ativos

  • Simplenews + CCK possível?
  • Popup abrindo um player com uso de views
  • Comentarios não aparecem
  • Criar uma Busca Personalizada
  • mudar id botão submit webform
  • Limitar upload de áudio
  • Filtros por termos de vocabularios diferentes
  • Tutorial sobre criação de temas no Drupal 6
  • Video
  • Melhor módulo para Blogroll
more

Posts mais lidos hoje

  • Correios (Sedex, Malote, PAC) para e-Commerce
  • Jogos de Meninas
  • Tutoriais
  • Sites de cantoras
  • Tutorial sobre criação de temas no Drupal 6
  • Manual
  • Módulo de calculo de frete dos correios
  • Popup abrindo um player com uso de views
  • mudar id botão submit webform
  • Criar uma Busca Personalizada

Login do usuário

  • Criar uma conta
  • Recuperar senha

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Tutoriais

Tutorial: Personalizando o nome de usuário em um post

Hoje em dia, com a popularização de blogs, é muito comum que queiramos algo mais personalizado e, às vezes, esquecemos de um pequeno detalhe que, para alguns, faz toda a diferença: o nome da pessoa que enviou o post.

No Drupal, quando enviamos um post, o que aparece é o nome do usuário e não o nome da pessoa. Isso é facilmente resolvido com o módulo Profile (presente no core do Drupal), e uma pequena personalização.

Irei mostrar como personalizar o nome de usuário, autor de um post no site. O tutorial vai mostrar como personalizar somente o nome de usuários logados, deixando os anônimos e não registrados na sua forma padrão.

Antes
Visualização antes

Depois
Visualização depois

Requisitos

Esse tutorial não cobre a instalação e configuração do Drupal além daquilo que iremos usar. Para isso você encontra outros tutoriais aqui no Drupal Brasil.

Também vou assumir que você está com o Drupal em Português. Assim, só estará em inglês aquilo que não consta na tradução feita pela equipe do Drupal Brasil.

Para realização desse tutorial com o mesmo resultado mostrado teremos alguns requisitos:

  • Drupal 6.6
  • Profile 6.6 (já no core do Drupal)
  • Tema Framework 6.x-2.1 (opcional)

Esse tutorial pode não funcionar com versões anteriores do Drupal, desses módulos e/ou temas.

O tema Framework foi usado apenas para podermos trabalhar sem mexer nos tema core. Se você tem um tema seu, ou se quiser usar um dos temas padrão, o procedimento será o mesmo.

Preparação

A primeira coisa que devemos fazer é habilitar o módulo Profile e o tema Framework.

Para habilitar o módulo Profile acesse: Administrar > Construção do site > Módulos. Em seguida marque a caixa referente ao módulo Profile e clique no botão Salvar configurações.

O tema que usaremos não vem com o Drupal por padrão, então antes temos que baixá-lo. Para isso baixe a última versão disponível em http://drupal.org/project/framework

Após baixar o tema, descompacte-o na pasta sites/all/themes (a pasta themes não existe por padrão, então crie-a). Esse é o local padrão e recomendado para depositar temas. Para saber mais leia esse artigo que escrevi há algum tempo.

Em seguida, para habilitar o tema Framework, acesse: Administrar > Construção do site > Temas. Em seguida marque a caixa referente ao tema Framework e selecione o radio button ao lado, para deixar esse tema como o padrão.

Ressalto, novamente, que a habilitação do tema Framework é opcional e, caso você já possua um tema que deseja aplicar as mudanças, ela pode ser ignorada.

Configurando o campo

Agora que temos os requisitos instalados, vamos criar o campo que será usado para guardar o nome real do usuário.

O módulo Profile é um dos módulos que vêm com o Drupal no seu pacote básico. Ele é usado para ampliar a quantidade de campos no perfil do usuário (daí o seu nome). Nós o habilitamos por esse motivo (queremos guardar o nome real do usuário) e agora precisamos configurá-lo.

Agora acesse Administrar > Gerenciamento de usuários > Perfis. Aqui podemos adicionar quantos campos quisermos ao perfil dos nossos usuários. Esses campos podem ser de vários tipos: caixa de texto, seleção em lista, lista livre etc. Aqui não iremos discutir cada um desses itens, ficando esse assunto para um outro tutorial. No momento vamos adicionar apenas um campo do tipo campo de texto de uma linha clicando na opção com esse mesmo nome.

Ao solicitarmos a adição de um novo campo de texto, temos algumas informações a prencher. Abaixo segue uma descrição breve de cada uma:

  • Categoria: A categoria dessa informação. Isso irá criar uma nova aba e um novo agrupamento de campos, por categoria, na ficha do usuário. No nosso caso digite Pessoal
  • Título: O nome do campo em sí. Aqui vamos digitar Nome completo.
  • Nome do formulário: O nome do campo para o sistema. Digite apenas nome.
  • Explicação: Um texto explicativo que irá aparecer abaixo do campo, no formulário. Fique livre para preencher como quiser
  • Visibilidade: Quais os casos o campo será visível. Deixe a opção já selecionada (3ª de cima para baixo)
  • Título da página: Esse campo só é utilizado em alguns casos (que não serão vistos nesse tutorial). No nosso caso ficará em branco.
  • Peso: Esse campo define a ordem do campo no formulário. Como só iremos adicionar um campo, podemos deixar como 0
  • O campo do formulário vai se auto-completar enquanto o usuário estiver digitando: Esse campo cria o efeito de tags, não será o nosso caso.
  • O usuário tem que digitar um valor: Marque se você acha que o campo tem que ser obrigatório. No nosso caso é o ideal.
  • Visível no formulário de registro de usuário: Se o campo deve estar visível no formulário de registro, marque essa opção. No nosso caso é indiferente.

Salve esse campo e teremos terminado com a configuração do módulo Perfil.

Alterando o nome do usuário

Agora iremos preencher o campo que criamos para o nosso usuário.

Para isso acesse Minha conta e escolha a opção Editar.

Você deve perceber que existe agora uma nova aba, logo abaixo das abas Ver e Editar, chamada Pessoal. Essa é a aba que mencionei no passo anterior e que, na verdade, e a categoria dos campos que adicionamos ao nosso formulário (no nosso caso apenas Nome Completo).

Clique na aba Pessoal, e em seguida digite seu nome completo no campo referido. Em seguida, salve o seu cadastro.

Se você clicar na aba Ver você poderá notar que agora é exibido o seu nome completo na ficha cadastral. Esse é um grande recurso presente no Drupal e que muitos CMS modernos ainda não implementaram.

Se você já tiver algum post no seu site, verá que nada mudou. Isso porque ainda precisamos personalizar o tema.

Agora vamos para a personalização em si.

Personalizando o tema

O Drupal é construído sob uma plataforma bastante flexível e extensível. Uma das possibilidades dessa flexibilidade é que personalizemos algumas áreas pré-definidas pelo desenvolvedor. É isso o que ocorre com o nome de usuário, e é fazendo uso desse recurso que iremos personalizá-lo.

Essa personalização envolve vários conceitos relacionados a temas, mas iremos nos ater essencialmente a aquilo que é necessário para a personalização. Para saber mais sobre personalização e temas recomendo o outro artigo que escrevi sobre esse assunto.

A primeira coisa que devemos fazer é abrir, para edição, o arquivo template.php localizado na pasta do tema Framework (sites/all/themes/framework). Esse arquivo, quando presente em um tema e com o conteúdo apropriado, permite que alguns pontos do Drupal possam ser personalizados. Você verá que ele já possui conteúdo, mas iremos até o final do arquivo para adicionar, depois de tudo, o código abaixo:

function phptemplate_username($object) {

  if ($object->uid && $object->name) {
   
    $user = user_load(array(uid => $object->uid));

    //aqui está a mágica que fizemos
    if (!empty($user->profile_nome)) {
      $name = $user->profile_nome;
    } else {
      $name = $object->name;
    }

    if (user_access('access user profiles')) {
      $output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
    }
    else {
      $output = check_plain($name);
    }
  }
  else if ($object->name) {
    if ($object->homepage) {
      $output = l($object->name, $object->homepage);
    }
    else {
      $output = check_plain($object->name);
    }

    $output .= ' ('. t('not verified') .')';
  }
  else {
    $output = variable_get('anonymous', t('Anonymous'));
  }

  return $output;
}

Esse código irá fazer com que, se preenchido, o campo que criamos substitua o nome de usuário.

Agora perceba o nome da função phptemplate_username(). Essa função faz uso do recurso do Drupal que mencionei acima. Ela é uma "reimplementação" da função original que se chama theme_username() que está no arquivo includes/theme.inc e na versão 6.6 do Drupal é implementada à partir da linha 1559.

Ao criar a função no arquivo template.php trocando o theme por phptemplate fazemos com que a nossa função sobrescreva a original.

Esse é apenas um recurso do Drupal no que se refere a personalização. Iremos falar disso em um futuro artigo.

A personalização que fizemos está na linha 8 e apenas trocamos o campo a ser exibido. Perceba que o nome do campo a ser impresso tem que ser, necessariamente, profile_nome pois foi esse o nome de campo que usamos na hora de criar o campo com o módulo Profile.

Conclusão

Vimos como personalizar, com relativa facilidade um campo no Dupal (apesar de longo o tutorial, o processo é muito pequeno). Essa é apenas uma forma de fazer isso e, na minha opinião, a mais limpa e simples.

Uma outra forma de se fazer isso seria mexer no arquivo node.tpl.php.

Um outro modo que pode ser mais prático é utilizar o módulo Real Name que faz, em linhas gerais, o que fizemos agora, mas sem a necessidade de mexer no tema e com a personalização de um campo qualquer.

‹ Tutorial: Instalando o Drupal 6 em português acima URLs de blogs renomeados usando o módulo Pathauto para o Drupal ›
Enviado por rafael em 18/11/2008 - 16:11
  • Versão para impressão
  • Se logue ou se registre para poder enviar comentários
  • 3078 leituras
Em 19/11/2008 - 15:24 rup3rt disse:

Ver também Author Taxonomy
http://drupal.org/project/author_taxonomy

  • Se logue ou se registre para poder enviar comentários
Em 24/11/2008 - 19:48 nrauni disse:

legal, muito bom o tutoriala.

escreve mais uns macetes ai :)

Nei Rauni Santos
nrauni@yahoo.com.br

Nei Rauni Santos
Curitiba-PR
http://blog.inuar.com
Drupal,Symfony,PHP...

  • Se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.