• Cadastro
  • Fóruns
  • Manual
  • Tradução
  • Tutoriais
  • OpenAtrium
  • Eventos
  • Ofertas de Emprego
Início

Login do usuário

  • Criar uma conta
  • Recuperar senha

Pesquisa no site

Google

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Lista de Discussão

Drupal-BR

Download

Últimas versões

Drupal 7.12Drupal 6.22

Contribuições

Módulos Temas Tradução

Itens ativos

  • Lightbox e thickbox sem efeito algum
  • Sistema de atendimento, similar a suporte por tickets. Webform, Support ticketing system ou outro?
  • Não consigo habilitar o módulo JQueryUI
  • Abrir page_comment.tpl.php no layout admisnitrativo
  • Topic locked - Como configurar advanced forum para evitar isso?
  • Drupal, CMS e sistemas... É possível?
  • Correção de erros em site de vendas
  • Freelance Drupal 7 - $1.000 mensais
  • Proposta de trabalho Tech For/São Paulo- Analista Programador Drupal
  • [Resolvido] Sumiu título de content type
Veja mais
Início » Tutoriais

Como colocar um campo ao lado do outro no formulário de criação/edição de nodes?

Muitos já devem ter passado pelo problema de ter que colocar um campo ao lado do outro em um formulário de criação/edição de um node.

Para iniciar, você precisa criar uma função no arquivo template.php de seu tema.

function seutema_theme($existing, $type, $theme, $path) {
  return array(
    'nome_do_tipo_de_conteúdo_node_form' => array(
        'arguments' => array('form' => NULL),
        'template' => 'node-nome_do_tipo_de_conteúdo-edit'
    )
  );
}

Onde:
seutema = o nome do seu tema;
nome_do_tipo_de_conteúdo = o nome de máquina do seu tipo de conteúdo (story, page, blog, meu_formulario)

Feito isso, você precisará criar um arquivo chamado: node-nome_do_tipo_de_conteudo-edit.tpl.php (para a criação/edição dos nodes) com o seguinte conteúdo:

<?php print drupal_render($form['field_meu_campo']['value']); ?>

Você pode adicionar o HTML necessário para isolar o campo e estilizar da maneira que desejar.

Recomendo usar a seguinte grafia:

<div class="meu_campo"><?php print drupal_render($form['field_meu_campo']['value']); ?></div>
<div class="meu_campo2"><?php print drupal_render($form['field_meu_campo2']['value']); ?></div>
<div class="meu_campo3"><?php print drupal_render($form['field_meu_campo3']['value']); ?></div>

Onde: meu_campo é o nome do campo em questão.

Para adicionar a classe que irá flutuá-los lado à lado, eu resolvi da seguinte maneira:

- --- [ início ] --- -

<div id="criacao-nome_do_tipo_de_conteudo">
        <div class="metade">
                <div class="nome_do_campo"><?php print drupal_render($form['field_nome_do_campo']['value']); ?></div>
                <div class="nome_do_campo2"><?php print drupal_render($form['field_nome_do_campo2']['value']); ?></div>
        </div>

...

</div>

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

- --- [ término ] --- -

Essa última linha é o que adiciona os demais controles do formulário, tais como: opções de endereço, demenu, os botões de envio, etc...

Feito isso, adicionei as seguintes regras no meu style.css:

.metade {
        clear: both;
}

.meu_campo,
.meu_campo2 {
        width: 47%;
        float: left;
        margin: 0 1%;
}

Faça isso para todos os campos que desejar flutuar lado à lado.

Caso tudo corra bem, ao acessar: http://seusite.com.br/node/add/nome-do-tipo-de-conteudo

Os campos especificados neste arquivo devem estar flutuando.

Espero que esse arquivo possa ter ajudado! @:)

Saudações,
aleagi
.

‹ Como Criar um Tema Para Drupal 6 - Parte 02 acima Como corrigir erros de codificação (acentuação) ›
Enviado por aleagi em sex, 05/07/2010 - 10:54
  • 6.x
  • Versão para impressão
  • Se logue ou se registre para poder enviar comentários
  • 6155 leituras

Este site é feito, orgulhosamente, com Drupal. Gentilmente hospedado por HostSH