juniorinternet
unread,Dec 13, 2012, 4:09:21 PM12/13/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to kohan...@googlegroups.com
Ola pessoal,
Estou com uma dúvida que ja me fez perder horas e não consigo achar uma solução plausivel:
Tenho um método que busca em um webservice motivos de atendimentos e me retorna o id e a descrição do motivo para carregar um combo.
Abaixo deste combo , possuo outros combos que devem ser carregados quando o combo superior for carregado.
Sem muito bla bla bla o método é esse e ja testei e esta funcionado:
/**
* Retorna um combo de motivos no formato ARRAY com uma consulta a um serviço web
*
* @param string|array Nome do campo ou array de atributos HTML
* @param array Valor do campo se usado um nome no primeiro parametro
* @param mixed Chave selecionada
* @param string String a ser anexada no final dos atributos
* @return string Dropdown list
*/
public function motivos($mixData, array $arrOptions = array(), $mixSelected = null, $strExtra = 'onChange="carregaMotivo().submit()"') {
$mixData = 'COD_MOTIVOS1';
$objWSPS8 = new WSPS8();
$objResult = $objWSPS8->listarMotivosAtendimentoCanal('', '', '', '', 'AAPF', false, 'ConsultaMotivoAtendimento', 0);
$objStatus = $objWSPS8->status();
if($objStatus->FAULT_CODE) {
$this->out(var_export($objStatus, true));
} else {
$strJson = (json_encode($objResult, true));
$arrRetorno = (json_decode($strJson, true));
$arrRetorno = (array_shift($arrRetorno));
$arrRetorno = (array_shift($arrRetorno));
$arrMotiv = array();
for($intI = 0; $intI < count($arrRetorno); $intI++)
$arrMotiv[$arrRetorno[$intI]['motivo-atendimento-id']] = $arrRetorno[$intI]['descricao'];
return form::dropdown($mixData, $arrMotiv, $mixSelected, $strExtra);
}
}
esse método ficava em uma classe e eu fazia isso para ele aparecer:
$objRow->addCell(wvd_filtro::motivos(null, 'DESCRICAO', '<< Selecione >>'));
só que a classe wvd_filtro ficava (que possuia o método) ficava em uma helpers do kohana, aí não poderia usar o método motivos para receber um parametro via ajax ,pois o helpers não é acessado.
Coloquei o método na pagina onde ele precisa ser exibido, porém não sei como chama-lo na linha:
$objRow->addCell(?????????????????????????? oque por aqui, ja tentei $this->motivos('COD_MOTIVO');????????) e nada!!!
Alguma luz?