• Cadastro
  • Fóruns
  • Manual
  • Tradução
  • Tutoriais
Início

Pesquisa no site

Google

Itens ativos

  • Taxonomy Blocks
  • computed field
  • Site em manutenção... como entrar? URGENTE
  • MULTILINGUAGENS
  • internacionalization, vistas e view field
  • arquivos css temporarios.
  • Galeria de Fotos
  • Preciso de pessoa com experiência em Drupal
  • Como ter opção para publicar ou não comentários
  • Estudo de caso, galerias com subcategorias de imagens
more

Posts mais lidos hoje

  • Como Criar um Tema Para Drupal 6 - Parte 01
  • Tutoriais
  • Sobre o Drupal
  • Canal Drupal-BR de IRC
  • arquivos css temporarios.
  • Galeria de Fotos
  • Manual
  • Como Criar um Tema Para Drupal 6 - Parte 02
  • Tutorial - Criando um site com caixas de notícias
  • MULTILINGUAGENS

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

Colocando radios em duas colunas

Estou mexendo com o Ubercart nestes dias e precisei criar um campo do tipo radios (grupo de radio button) em duas colunas para colocar as parcelas do pagamento.

A solução foi muito simples, bastou eu criar um tema para o CAMPO.

Ficou assim:

//...

function uc_locaweb_visa_cart_form ($order) {
        // ...
        $parcelas = array(1 => "À Vista");
       
        for ($i=2; $i <= $max_parcels; $i++) {
                $juros_msg = $i > $juros_par ? 'com juros' : 'sem juros';
                $parcelas[$i] = "{$i}x {$juros_msg}";  
        }
       
        $form['visa_parcelas'] = array(
                '#type' => 'radios',
                '#title' => 'Parcelamento',
                '#description' => "Quando houver pagamento com juros: {$juros}% ao mês",
                '#default_value' => 1,
                '#options' => $parcelas,
                '#theme' => 'uc_locaweb_visa_parcelas'
        );
       
        return $form;
}

function theme_uc_locaweb_visa_parcelas($element) {
        $col1 = $col2 = '';
       
        $total = count($element['#options']);
        $metade = (int) $total / 2;
       
        for ($i=1; $i <= $total; $i++) {
                if ($i <= $metade) {
                        $col1 .= drupal_render($element[$i]);
                }
                else {
                        $col2 .= drupal_render($element[$i]);
                }
        }
 
        $output = '<table><tbody style="border: 0px;">';
        $output .= "<tr><td>{$col1}</td><td>{$col2}</td></tr>";
        $output .= '</tbody></table>';
 
        return $output;
}

//...

Resolvi postar aqui pois acho que é uma informação bastante válida pra todos.

flw!

Enviado por pedrofaria em 28/10/2008 - 10:30
  • Se logue ou se registre para poder enviar comentários
  • 473 leituras
Em 28/10/2008 - 10:44 Vuds disse:

Vc está fazendo um gateway para usar os pagamentos da Locaweb? Quais deles vc está abordando além do Visa (ou todos)?

Sobre as colunas: Uma possibilidade também é "falsear" colunas com o uso do CSS (colocando display:inline para estes form-items).

Abraço!

--

Inventive...tempo de ser

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

Este site é feito, orgulhosamente, com Drupal.