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:

<?php
//...

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!

Your rating: Nenhum Average: 5 (1 vote)

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.
  _           _              _   _   _    
(_) __ __ | | __ _ _ | \ | | | | __
| | \ \ / / | |/ / | | | | | \| | | |/ /
| | \ V / | < | |_| | | |\ | | <
|_| \_/ |_|\_\ \__, | |_| \_| |_|\_\
|___/
Enter the code depicted in ASCII art style.