Embora eu já discutem como criar dropdown em um de meu artigo anterior, no entanto aqui eu iria discutir um pouco em detalhe.Você pode criá-lo usando o seguinte código.
Ou também podem ser criados usando o seguinte código.
Algum tempo ou a maioria dos aplicativos que precisam de tempo suspenso deve ser preenchido buscar os registros da base de dados.Assim, para este fim, gostaria de implementar o seguinte código.
Punho em seu modelo escrever o seguinte.
Tenha em mente que os registros que buscar vai ter uma matriz associado ter id como chave eo nome do país como valor. Se você não definiu o array acima, array ('chave' => 'id', 'value' => 'country_name'), como já definido, você não vai conseguir o que deseja.Portanto, tenha cuidado ao buscar registros para a construção suspensa. E agora, em seu formulário de escrever o seguinte código.
No código acima a única coisa que muda é
1. Tenho instanciado modelo usando
$ países = Países new (); 2. Chamada getCountiresList () método. E atribuir a lista ao invés de atribuir difícil valores codificados.
classe CustomForm estende Zend_Form
{
public function init ()
{
setMethod ('post') $ this->;
$ this-> setAction ('user / processo'); país US $ = $ this-> createElement ('select' , 'países'); $ country -> setLabel ("Países: ') -> addMultiOptions (array ( 'EUA' => 'Estados Unidos', 'UK' => 'United Kingdom' )); } }
Ou também podem ser criados usando o seguinte código.
classe CustomForm estende Zend_Form
{
public function init ()
{
setMethod ('post') $ this->;
$ this-> setAction ('user / processo');
país US $ = new Zend_Form_Element_Select ('países');
$ país -> setLabel ("Países: ') ->
addMultiOptions (array ('EUA' => 'Estados Unidos', 'UK' =>
'United Kingdom')
);
}
}
As opções são o código rígido em ambos os casos. Esta não será exigência sempre.Algum tempo ou a maioria dos aplicativos que precisam de tempo suspenso deve ser preenchido buscar os registros da base de dados.Assim, para este fim, gostaria de implementar o seguinte código.
Punho em seu modelo escrever o seguinte.
Países classe estende Zend_Table
{
protected $ _name = 'países';
getCountriesList função pública ()
{
$ select = $ this-> _db-> select ()
-> from ($ this-> _name,
array ("chave" => 'id', 'value' => 'country_name'))
resultado = $ this-> getAdapter () - fetchAll> ($ select);
return $ resultado;
}
}
Tenha em mente que os registros que buscar vai ter uma matriz associado ter id como chave eo nome do país como valor. Se você não definiu o array acima, array ('chave' => 'id', 'value' => 'country_name'), como já definido, você não vai conseguir o que deseja.Portanto, tenha cuidado ao buscar registros para a construção suspensa. E agora, em seu formulário de escrever o seguinte código.
classe CustomForm estende Zend_Form
{
public function init ()
{
setMethod ('post') $ this->;
$ this-> setAction ('user / processo'); $ países Países = new (); $ countries_list = $ countires-> getCountriesList (); ; $ country = new Zend_Form_Element_Select ('países') país US $ -> setLabel ("Países: ') -> addMultiOptions ($ countriesList )); } }
No código acima a única coisa que muda é
1. Tenho instanciado modelo usando
$ países = Países new (); 2. Chamada getCountiresList () método. E atribuir a lista ao invés de atribuir difícil valores codificados.