Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Menu dinamico in XML

  1. #1

    Menu dinamico in XML

    Ciao a tutti ho la necessità di realizzare un menù in XML, in quanto non ho DB di supporto.

    La struttura sarà un menù a due livelli di profondità.

    Utilizzo PHP4 (quindi niente simplexml...) e la struttura dell'xml che avevo pensato è questa:

    Codice PHP:
    <?xml version="1.0" encoding="UTF-8"?>
    <menu>
        <item item_title='Homepage' item_url='index.php' target='_self'></item>
        <item item_title='Prima' item_url='about.php' target='_self'>
            <submenu>
                <subitem item_title='Prima 1' item_url='about.php' target='_self'></subitem>
                <subitem item_title='Prima 2' item_url='about.php' target='_blank'></subitem>
                <subitem item_title='Prima 3' item_url='about.php' target='_self'></subitem>
            </submenu>
        </item>
    </menu>
    ora devo leggere sta roba e mettermela in un bell'array dal quale generare una lista in xhtml e in base alla pagina sulla quale mi trovo cambiare lo stile del link e far o meno visualizzare il sottomenù.

    la parte cruciale di tutto ciò è passare sta roba (o se trovate un XML migliore di questo è ben accetto) ad un array associativo in PHP

    ripeto che non posso utilizzare DomDocument e SimpleXML

    grazie a tutti

    www.funkazzisti.it - The Real Venetian Funky Style
    www.feempandora.it - Progetto di Ricerca sullo sviluppo sostenibile
    www.e-makina.it - Web Design

  2. #2
    Per default, in PHP4 c'è comunque un XML parser (si chiama appunto XML parser nella documentazione ufficiale).

    Comunque il mio opinabile consiglio è usare direttamente gli array. Se devi comunque creare un file di testo, tanto vale sfruttare lo sfruttabile:

    Codice PHP:
    <?php
    $menu 
    = array(
        
    'Homepage' => array('url' => 'index.php''target' => '_self'),
        
    'Prima' => array('url' => 'about.php''target' => '_self',
            
    'sub' => array(
                
    'Prima 1' => array('url' => 'about.php''target' => '_self'),
                
    'Prima 2' => array('url' => 'about.php''target' => '_blank'),
                
    'Prima 3' => array('url' => 'about.php''target' => '_self')
            )
        )
    );
    ?>
    Semplice ed indolore, e non esisterà mai parser più veloce del PHP diretto.

  3. #3
    alla fine avevo già optato per questa soluzione non vedendo risposte in tempi rapidi.

    certo è che dovrò insegnare ad una persona niubba a smanettare con gli array per aggiornarsi un menù (non ho voglia e tempo di fargli un pannello di amministrazione)... VVoVe:

    capito il problema ?
    www.funkazzisti.it - The Real Venetian Funky Style
    www.feempandora.it - Progetto di Ricerca sullo sviluppo sostenibile
    www.e-makina.it - Web Design

  4. #4
    Originariamente inviato da sebaz
    certo è che dovrò insegnare ad una persona niubba a smanettare con gli array per aggiornarsi un menù...
    Non mi preoccuperei più di tanto: per uno a 0 di entrambi non so se è peggio scrivere un file in XML o usare direttamente gli array del PHP.

    Se vuoi comunque usare l'XML per altri motivi puoi pure dare un'occhiata al pacchetto PEAR Tree:
    http://pear.php.net/package/Tree

    Non occorre che ti istalli il PEAR: scompatti i sorgenti di Tree, controlli e fai un taglia-cuci di ciò che ti occorre.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.