Source for file function.combo.php
Documentation is available at function.combo.php
* @author Marcio Merlone <mmerlone@gmail.com>
/* $Id: function.combo.php,v 1.2 2007/03/16 15:00:51 mmerlone Exp $ */
* Cria o combo de ações de listagem
* Cria o combo de ações de listagem baseado em um array
* Semelhante a {html_options} do smarty, porém permite até 20 níveis de
* OPTGROUP aninhados e internacionalização dos textos.
* Extrai das variáveis do smarty o array $arrComboAcoes da listagem denominada
* em $params['from'] que contém a estrutura do combo no formato:
* $acoes = array( 'acao1' => array('id' => 0, 'value' => 'Opção 1'),
'0' => array('label' => array('id' => 0, 'value' => 'Grupo 1'),
'grupo1acao1' => 'Grupo 1 Opção 1',
'grupo1acao2' => 'Grupo 1 Opção 2',
'grupo1acao3' => 'Grupo 1 Opção 3',
'1' => array('label' => array('id' => 0, 'value' => 'Grupo 2'),
'grupo2acao1' => 'Grupo 2 Opção 1',
'grupo2acao2' => 'Grupo 2 Opção 2',
'grupo2acao3' => 'Grupo 2 Opção 3',
* <select name="acoes" id="acoes">
* <option value="acao1">Opção 1</option>
* <option value="acao2">Opção 2</option>
* <optgroup label="Grupo 1">
* <option value="grupo1acao1">Grupo 1 Opção 1</option>
* <option value="grupo1acao2">Grupo 1 Opção 2</option>
* <option value="grupo1acao3">Grupo 1 Opção 3</option>
* <option value="acao3">Opção 3</option>
* <optgroup label="Grupo 2">
* <option value="grupo2acao1">Grupo 2 Opção 1</option>
* <option value="grupo2acao2">Grupo 2 Opção 2</option>
* <option value="grupo2acao3">Grupo 2 Opção 3</option>
* @param array $params da tag no template - indica qual variável smarty utilizar
* @param object $smarty o objeto smarty
return options($smarty->_tpl_vars[$params['from']]->arrComboAcoes);
* Cria as tags html de option e optgroup
* CUIDADO ao mexer, é recursivo!
require_once(CFG_LOCAL_FRAMEWORK.
'idioma.classe.php');
$options =
$i ==
0 ?
'<option value="">'.
$idioma->getString(array('id' =>
32, 'value' =>
'Ações disponíveis')).
':</option>' :
'';
foreach($arrOpcoes as $acao =>
$texto){
if($i >
$recursaoMaxima) die('Combo com mais de '.
$recursaoMaxima.
' níveis.');
$label =
$idioma->getString($texto['label']);
$options .=
'<optgroup label="'.
$label.
'">."\n"';
$options .=
'</optgroup>."\n"';
$texto =
$idioma->getString($texto);
$options .=
'<option value="'.
$acao.
'">'.
$texto.
'</option>'.
"\n";
Documentation generated on Sun, 09 Mar 2008 23:51:52 -0300 by phpDocumentor 1.4.0