Menù ad albero esterno()
Forum fiscale di Oscon (https://oscon.it/forums)
Pagine: 1 2 3
Menù ad albero

Sto ammattendo!

Sto cercando un menù "ad albero" da inserire in pagine html

Ma soprattutto ho bisogno che i link vengano "pescati" (o richiamati per dirla più correttamente...) da un file esterno xml o direttamente da .js

Questo onde evitare di modificare il codice su decine di pagine (il progetto che ho in mente sarà di molte pagine)

Qualcuno mi può gentilmente linkare un sito dove scaricare quanto richiesto?

Grazie Smiling
io parecchio tempo fa avevo utilizzato Sothink DHTML Menu, ho visto che ora hanno fatto altri prodotti (tree Menu, e Flash Menu).... però sono tutti a pagamento.

https://www.sothink.com/

Ciao
No a pagamento noooo Big Grin

Al massimo anche solo "verticale"....

Solo che ho necessita che venga "richiamato" da un file esterno in maniera tale che ,se modifico quel file, si modifica l'intero sito web Smiling
glm2006ITALY Ha scritto:No a pagamento noooo Big Grin
... va beh.. sono cifre ridotte, che poi recuperi dai clienti...

io proverei a guardare negli script di html.it, e costruirmi qualcosa da solo.

Citazione: Solo che ho necessita che venga "richiamato" da un file esterno in maniera tale che ,se modifico quel file, si modifica l'intero sito web Smiling

Da quanto mi ricordo, quello che ti ho proposto sopra, ti spara un file js da includere nei vari files, poi per modificare tutto basta rigenerare e uploadare il js.

Sandro
Stavo guardando il sito html.. avevo trovato questo (che mi piaceva pure!)
https://javascript.html.it/script/vedi/5881/menu-a-discesa-rosso/

Il problema che per ogni pagina si usa il sto codice qui:
<div class="webwidget_menu_vertical_menu1">
<ul>
<li class="top_border"></li>
<li class="current"><a href="#">Menu1</a>
<ul>
<li class="top_border"></li>
<li><a href="#">submenu1</a>
</li>
<li><h3>Category</h3></li>
<li><a href="#">submenu2</a></li>
<li><a href="#">submenu3</a></li>
<li><a href="#">submenu4</a></li>
<li><a href="#">submenu5</a></li>
<li><a href="#">submenu6</a></li>
<li class="bottom_border"></li>
</ul>
</li>
<li><a href="#">Menu2</a>
<ul>
<li class="top_border"></li>
<li><a href="#">submenu1</a>
</li>
<li><a href="#">submenu2</a></li>
<li><h3>Category</h3></li>
<li><a href="#">submenu3</a></li>
<li><a href="#">submenu4</a></li>
<li><a href="#">submenu5</a></li>
<li><a href="#">submenu6</a></li>
<li class="bottom_border"></li>
</ul>
</li>
<li><a href="#">Menu3</a></li>
<li><h3>Category</h3></li>
<li><a href="#">Menu4</a>
<ul>
<li class="top_border"></li>
<li><a href="#">submenu1</a>
</li>
<li><a href="#">submenu2</a></li>
<li><a href="#">submenu3</a></li>
<li><a href="#">submenu4</a></li>
<li><a href="#">submenu5</a></li>
<li><a href="#">submenu6</a></li>
<li class="bottom_border"></li>
</ul></li>
<li><a href="#">Menu5</a></li>
<li><a href="#">Menu6</a>
</li>
<li class="bottom_border"></li>
</ul>
</div>


Insomma decisamente "scomodo"....

Ci fosse il modo per "intrapolare" l'elenco <ul> </ul> in un file esterno sarebbe stato perfetto!

Ho trovato qualcosa in java ma se qualcuno non dispone oppure è mal installata la java sul pc addio!

Un iframe mi pare sconsigliabile....

Devo continuare a "sbattere la testa" Sad
glm2006ITALY Ha scritto:Ci fosse il modo per "intrapolare" l'elenco <ul> </ul> in un file esterno sarebbe stato perfetto!

php
Cioè?

Dici che esiste qualcosa di simile in php?

Il menù andrà ad essere inserito in pagine html.
glm2006ITALY Ha scritto:Cioè?

Dici che esiste qualcosa di simile in php?

Il menù andrà ad essere inserito in pagine html.

Primo puoi far interpretare dal tuo server le pagine ".html" come fossero pagine php e includere al loro interno, quindi, codice php.

Secondo, io suggerirei vivamente di sviluppare ogni sito in php (salvando le pagine ".php"), anche se poi internamente contiene solo html. Potrai successivamente inserire modifiche e cambiamenti, sfruttare funzioni, ecc. con pochi click.

La funzione che ti serve è questa:

Pagina index.php:

Codice:
<body> <h1>Titolo</h1> <?php include ("lista.php"); ?> </body>

Pagina lista.php

Codice:
<ul> <li>Elemento uno</li> <li>Elemento due</li> </ul>

J
Mi sono collegato ora.... ma Jack mi ha preceduto, il mio post sarebbe stato identico... :p
Aggiungo per chiarezza, che inserirai
Codice:
[== php ==] <?php include ("lista.php"); ?>
in tutte le tue pagine.

Così ottieni quello che volevi, cioè modificare un solo file per aggiornare il menu in tutte le pagine del sito.

Sandro
Sandro Se uso il tuo metodo la pagina la lascio in formato .html mentre con quello di jack devo salvarla in .php?

Giusto?
No, ciò che dice Sandro è la stessa cosa, era solo per spiegare meglio.

La pagina devi salvarla comunque .php, oppure, come ti dicevo, dare istruzione al tuo server di interpretare le pagine .html come se fossero pagine php. Cosa tecnicamente non eccessivamente complessa ma di certo nemmeno semplice, anzi: perciò prendila solo come una cosa teorica da sapersi.

Ti spiego. Perchè una comando PHP funzioni, il server deve sapere di trovarsi di fronte a una funzione PHP. Le pagine .html non vengono trattate come pagine PHP e quindi le funzioni semplicemente non vengono interpretate. Una funzione PHP dentro ad una pagina .html verrebbe quindi interpretata come un semplice testo e stampata a video.

L'unica cosa che devi fare è cambiare i nomi di tutte le pagine da "nomepagina.html" a "nomepagina.php". Fine. Tutto il resto lo lasci identico. Lo puoi fare automaticamente (con un batch) o più facilmente a mano, se non sono troppe pagine.

Poi, se non hai voglia di cambiare tutti i link interni tra le pagine, puoi usare un .htaccess che istruisca il server a reindirizzare gli utenti dalle pagine .html verso quelle con lo stesso nome ma .php. Anche in questo però caso la soluzione più "pulita" sarebbe cambiare ciascun link.

Prendi l'abitudine a salvare le pagine come .php, anche se contengono solo html, il risultato è lo stesso. Ma poi potrai usare all'interno funzioni php, inclusioni, date, variabili. E così via.

Un'inclusione, infine, si può fare anche via javascript.

Menu ad albero in JavaScript

Crei una pagina menu.js che contenga:
Codice:
document.write("<ul>"); document.write("<li><a href=\"pagina.html\">Link 1</a></li>"); document.write("<li><a href=\"pagina2.html\">Link 2</a></li>"); document.write("</ul>");

Ti basterà quindi includere il codice:

Codice:
<script type="text/javascript" src="menu.js"></script>

in ciascuna pagina nella posizione desiderata.

Ma è una soluzione abbastanza inusuale per queste esigenze Smiling

J
Gianluca, mi pare di "sentire" che hai un pò di "timore".... nel senso che tu volevi restare su HTML puro.... e sentire "php" che probabilmente non conosci, ti fa un pò paura (come fanno paura sempre le cose nuove).... ma in realtà il risultato è sempre HTML.
Quando editerai una tua pagina, ci lavorerai sempre in HTML... è solo l'estensione delle pagine che cambierà (come ha descritto magnificamente Jack) .... php è nato proprio per questo.... per aggiungere le funzionalità e comodità di cui hai bisogno.... e nel caso specifico, le righe di codice php che ti servono sono solo..... UNA !
Quindi è un buon punto per iniziare a giocarci... e quando ne vedrai le potenzialità, non lo mollerai più, fidati.

Sandro
Salve stasera inizio a metterci le "mani sopra" al progetto sopradescritto

Solo una ulteriore piccola conferma.... per google cambia qualcosa se LA STESSA PAGINA venga salvata in php invece che in html? :/

O forse uso la "soluzione" javascritp.....
glm2006ITALY Ha scritto:Solo una ulteriore piccola conferma.... per google cambia qualcosa se LA STESSA PAGINA venga salvata in php invece che in html? :/

No, non cambia nulla.

Se il sito è già indicizzato con le pagine .html le reindicizzerà (in questo caso sarebbe meglio mettere un redirect sulle pagine vecchie), se invece è ex-novo: nessuna differenza.

Il sistema javascript funziona eh, ma non è esaltante: se qualcuno, per esempio, ha javascript disattivato non vedrà il menu. Google stesso potrebbe avere qualche mal di pancia a seguire i link. Smiling

Fai un test col php che ti diamo una mano, dai. Winking

J
Ok..... se poi non funge o non funge come deve saprò con chi prendermela Big Grin
Fungerà, fungerà. Basta che il tuo spazio web fornisca php. Poi segui quello che dicevo in questo messaggio. Per dubbi scrivi. Vedrai che è davvero semplissimo.

Su su, che sei giovine! Big Grin

J