Login na horizontal

Hoje, pela manhã, enquato dava uma navegada pelo site da Trellon achei a solução para um problema comum que, provavelmente, quase ninguém sabe.

Criar um login na horizontal sem ter que escrever um form em html.

O grande lance é que o tema permite usar o hook_theme no template.php onde o hook eh o nome do seu tema... ex: garland_theme. Agora tudo fica mais fácil pois podemos criar itens para novos itens de tema ou sobrescrever existentes.

Bem, vamos à solução:

Primeiro precisamos criar o hook_theme para dar as coordenadas ao template engine do Drupal dizendo para ele que deve usar o template "user-login-block" para o form id "user_login_block" no arquivo template.php .

<?php
//....

function meutema_theme($existing, $type, $theme, $path) {
  return array(
   
//...
   
'user_login_block' => array(
     
'arguments' => array('form' => NULL),
     
'template' => 'user-login-block', // this is the name of the template
   
),
   
//...
 
);
}

//...
?>

Agora que já dissemos ao Drupal para renderizar o formulario "user_login_block" usando o template "user-login-block", vamos criar o template.

Crie o arquivo user-login-block.tpl.php no diretorio do seu tema e coloque o código que desejar. Para você ver e testar essa solução eu fiz da seguinte forma:

<?php

$form
['name']['#title'] = $form['pass']['#title'] = '';

$form['name']['#size'] = $form['pass']['#size'] = 6;

?>

<div id="user_login_block">

<div id="user-name"><?php print drupal_render($form['name']); ?></div>
<div id="user-pass"><?php print drupal_render($form['pass']); ?></div>
<div id="user-login"><?php print drupal_render($form['submit']); ?></div>
<div id="user-links"><?php print drupal_render($form['links']); ?></div>

<?php print drupal_render($form); ?>

Template modicficado!

</div>

Agora falta o CSS para colocar um campo do lado do outro... como eu não sou expert nisso, vou deixar para algum design resolver isso mas acho que com float: left; resolveria.

Simples né? Agora limpe o cache e atualize a página para ver o resultado.

flw.

Fonte:
http://trellon.com/content/blog/theming-user-register-form-d6

Your rating: Nenhum Average: 5 (8 votes)

\o/

Valeu Pedro, como sempre você correndo atrás das coisas pra ajudar a galera!

OBRIGADÃO! @:D

Enviar novo comentário

O conteúdo deste campo é privado não será exibido publicamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <pre> <br>
  • Linhas e parágrafos quebram automaticamente.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Endereços de páginas de internet e emails viram links automaticamente.

Mais informações sobre opções de formatação

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
  _                    __      ____   __  __   __  __ 
| |__ _ __ ___ / /_ / ___| | \/ | | \/ |
| '_ \ | '_ ` _ \ | '_ \ | | _ | |\/| | | |\/| |
| | | | | | | | | | | (_) | | |_| | | | | | | | | |
|_| |_| |_| |_| |_| \___/ \____| |_| |_| |_| |_|
Enter the code depicted in ASCII art style.