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

Treinamento Drupal 31 de Janeiro em São Paulo

Pesquisa

Google

Itens ativos

  • Aplicação que grava informações em um banco de dados
  • Upload de imagens em massa
  • Treinamento Drupal
  • Foto do usuário no topo do blog
  • Tamanho do backup do banco de dados
  • Site fora do ar Personalizado
  • É possível fazer isso com o Drupal?
  • Erro de e-mails no Drupal Brasil
  • Formulario personalizado
  • Views e rss
mais

Posts mais lidos hoje

  • ajuda instalar
  • Videos
  • Download do Drupal Corrompido
  • Comunix
  • Tutorial de instalação - Drupal 6.0
  • Galeria de imagens
  • Drupal em português do Brasil (instalação)
  • Módulo para Cifras Musicais!
  • Foto do usuário no topo do blog
  • Aplicação que grava informações em um banco de dados

Login do usuário

  • Criar uma conta
  • Recuperar senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fórum » Suporte » Módulos

Formulário Customizado

Olá pessoal,

Estou desenvolvendo um formulário customizado através de um módulo que estou criando.
Dentro do meu arquivo [nome_modulo].modulo, eu tenho a seguinte função:

function [nome_modulo]_form() {

Até aí tudo ok....
O problema foi na hora que criei um objeto do tipo button....

$form['identificacao_reuniao']['objetivo_mais'] = array(
'#type' => 'button',
'#value' => t('+'),
'#attributes' => array('onclick' => 'addObjetivo()'),
);

Quando o drupal exibe o formulário, o objeto vem como tipo submit....
eu li em um fórum do drupal.org que esse módulo não dá suporte para o tipo button.... no mesmo fórum outra pessoa falou que uma vez tinha baixado um patch para resolver este problema.
Alguém tem alguma informação a esse respeito aqui?

Desde já agradeço,

Rodrigo Maeda

‹ Ajuda!!!! Urgente!!!!! Alterar cores de itens do menu. ›
Enviado por rodrigo.maeda em 16/06/2008 - 18:33
  • Módulos
  • Se logue ou se registre para poder enviar comentários
  • 402 leituras
Em 18/06/2008 - 12:03 pedrofaria disse:

Esse é um problema muito chato mesmo... mas é mole de resolver... o mais engraçado é que a formAPI trata isso com o #submit => true/false mas a funcao theme_button nao trata... :/

a solução é a seguinte... coloque esta funcao no template.php do seu tema.

function [nome_do_tema]_button($element) {
  // Make sure not to overwrite classes.
  if (isset($element['#attributes']['class'])) {
    $element['#attributes']['class'] = 'form-'. $element['#button_type'] .' '. $element['#attributes']['class'];
  }
  else {
    $element['#attributes']['class'] = 'form-'. $element['#button_type'];
  }

  // Alteracao --------
  $type = ($element['#submit']) ? 'submit' : 'button';

  return '<input type="'. $type .'" '. (empty($element['#name']) ? '' : 'name="'. $element['#name'] .'" ') .'id="'. $element['#id'] .'" value="'. check_plain($element['#value']) .'" '. drupal_attributes($element['#attributes']) ." />\n";
}

--
Pedro Faria de Miranda Pinto
http://www.eusouopedro.com
http://www.phpavancado.net
Bate Papo sobre Drupal? irc://irc.freenode.net/drupal-br

  • Se logue ou se registre para poder enviar comentários
Em 21/06/2008 - 09:27 rodrigo.maeda disse:

Olá pedro,

Aproveitando o embalo da criação de formulários customizados, estou com a seguinte dúvida....

Como eu faço para definir a variável $op? Ela tem que ser uma variável enviada pelo método POST?

Desde já agradeço,

Rodrigo Maeda

  • Se logue ou se registre para poder enviar comentários
Em 12/07/2008 - 17:47 rodrigo.maeda disse:

Olá Pedro,

Sei que ja faz um tempo mas vai aqui uma observação importante....
Após inserir a função que você me passou acima, o sistema começou a ter problemas com os formulários de determinados módulos.....
Por exemplo o formulário de busca....mas que problema? o botão que antes era do tipo submit virou tipo button....consequentemente você não consegue mais submeter os formulários.....
Depois de pesquisar um pouco o código do drupal vi que na classe system.module função system_elements ele declara os tipos de elementos do sistema, e no tipo submit incluí o parâmetro '#submit' => TRUE.
Após fazer isso o problema foi resolvido. Mas não sei se esta é a melhor forma de resolvê-lo...

[]'s

Rodrigo Maeda

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

Este site é feito, orgulhosamente, com Drupal.