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
-~----------~----~----~----~------~----~------~--~---

Responder a