Bom Amigos,
Eu ainda nao consegui fazer da maneira correta que é utilizando os
Objetos ou Arrays e lendo eles no Flex, mas já consegui dar uma andada
e montar o menu dinamicamente.
Mas eu ainda estou procurando como fazer o Menu transferindo Objetos
ou Arrays, quem souber, por favor me envie alguma idéia.
Se alguém precisar, fica aqui uma dica de como fazer:
No AS eu fiz assim:
// importei as biliotecas necessarias
import mx.collections.XMLListCollection;
import mx.rpc.events.ResultEvent;
// Criei as variáveis que utilizarei
public var menuCollection:XMLListCollection;
public var menuXML:XMLList;
// Montei a função que pegar o retorno do PHP que vem uma String mas
com estrutura de um XML.
public function montaMenu():void {
// O r.result.toString aqui no caso é o retorno que vem do
AMFPHP,
não coloquei minha função, porque faço chamadas ao AMFdiretamente
// por funções AS, mas as chamadas normais que o pessoal utiliza
também funciona pois somente trata o "ResultEvent" do PHP.
menuXML = new XMLList(r.result.toString());
menuCollection = new XMLListCollection(menuXML);
}
No MXML:
<mx:MenuBar id="menuTeste" width="100%"
dataProvider="{menuCollection}" labelField="@label" y="0" x="0" />
<mx:Button x="30" y="35" label="Monta o Menu" click="montaMenu()" />
Já no PHP, montei 2 funções, uma que pega os itens de Base do menu e
outra função que retorna todos os filhos!
Segue um exemplo da funções sem fazer chamadas ao banco de Dados:
<?php
class Menu {
public function getMenu() {
$z=0;
$retorno = '<>';
for($i=0; $i<10; $i++){
$retorno .= "<menuitem label='Teste " . $i . "'>" .
$this->getSubMenu
($i) . "</menuitem>";
}
$retorno .= "</>";
return $retorno;
}
public function getSubMenu( $Pai ) {
// Aqui estou fazendo um IF para somente colocar SubMenus no Teste 4
e teste 5, porém, os SubMenus do Teste 4, também terão SubMenus.
if( $Pai == 4 || $Pai == 5) {
$result = "<menuitem label='Teste " . $Pai . "'>" .
$this->getSubMenu
($Pai+1) . "</menuitem><menuitem label='Teste " . $Pai . "'>" . $this-
>getSubMenu($Pai+1) . "</menuitem>";
}
return $result;
}
}
?>
Acredito que assim várias pessoas poderão criar seus menus dinâmicos
chamando diretamente seus métodos PHP pelo AMFPHP.
Um grande abraço a todos.
Angelo M. Rodrigues
Web Studio Brasil
(11) 7821-8298
[email protected]
On 27 maio, 17:09, Angelo Rodrigues <[email protected]>
wrote:
> Caros Amigos,
>
> Estou construindo uma aplicação onde os menus terão que ser dinâmicos
> com vários subníveis conforme o direito de acesso de cada um!
>
> Alguém tem alguma "inspiração" de como fazer este menu?
>
> A minha intenção é montar um Array ou Objeto contendo os menus e
> submenus e enviar o Array (ou Objeto) para o Flex.
>
> Só que eu não estou conseguindo ler os multiplos níveis do meu array
> ou do meu Objeto.
>
> Alguém já passou por isso e tem alguma idéia?
>
> Angelo M. Rodrigues
> Web Studio Brasil
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---