Pagine in sotto cartelle
Автор: Claudio A.Buongiorno a tutti.
Sto rifacendo un sito web in cui ho già delle applicazioni aspx che risiedono ciascuna in cartelle specifiche per questioni di compilazione separata.
Ho la necessità di crere delle pagine di avvio e chiusura (per esempio avvio.html e endsession.html) che risiedano all'interno della specifica cartella dell'app. L'applicazione verrebbe richiamata all'interno di un frame oppure tramite la funzione $('#nomediv').load(paginavvio.aspx) di jquery.
Come posso crere una sottodirectory in cui inserire la pagina html che sarà chiamata dal menu come "app01/start.html"?
Da tenere presente che il sito deve per forza essere quello principale e la creazione di siti secondari non può essere una soluzione.
Grazie in anticipo a chi saprà dami una risposta.
... in pratica l'hai già detto tu...
1) ... crei nel sito in RETE la directory app01
2) ... dentro a questa cartella app01 invii il file start.html tramite FTP di terze parti (Filezilla o simili)
3) ... nel progetto del sito Principale che va in ROOT, nella barra del menu inserisci un NUOVO LIVELLO e da questo assegni il COLLEGAMENTO tramite l'opzione File o URL | File su Internet ... digitando l'URL relativo:
app01/start.html (esattamente così);
... la pagina start.html si aprirà in una seconda pagina LEGATA, (_PARENT);
...!... invece, ...per far aprire questa pagina in un IFRAME posizionato nella pagina e che chiamerai APP (ID="APP"), il precedente URL da digitare diventerebbe:
app01/start.html target="APP (così come vedi, con gli apici asimmetrici)
...!... questa struttura funzionerà solo una volta effettuata l'Esortazione completa in RETE...
.
Автор
Grazie della risposta. Questo l'avevo già pensato, ma la pagina, diciamo, "start.html" deve avere le medesime caratteristiche (template) del sito principale e cambiare se quest'ultimo cambia a sua volta.
Quello che sono riuscito a fare al momento è questo:
1. Creo la pagina in root
2. Nel menu metto un link a file/url tipo "app01/start.html"
3. Esporto il sito in una cartella locale
4. Con filezilla (o altro) copio tutto e sposto la "start.html" in "app01"
Però, non è funzionale, primo perché è fatto in modo manuale e non in automatico e poi se qualcun altro dello staff aggiorna il sito e si dimentica di fare il passaggio si ottengono due cose diverse.
Pensavo ad una soluzione, diciamo così, più trasparente, tipo creare la pagina direttamente da Evolution nella cartella specifica.
Grazie comunque.
Автор
...dimenticavo...
Una volta generata la pagina nella root ed esportata nella cartella specifica devo cambiare a mano tutti i riferimenti dei css e javascript per far riferimento a, per esempio, "../res/..." oppure "../style/...", "../pcss/..." e via dicendo.
... ma no! ... se segui fai tutto nel progetto, senza post editare, cui non si è fatto riferimento...!...
... per come ti avevo già detto, la struttura funzionerà solo dopo aver esportato (su disco o in rete)! ...non! in Anteprima, e sempre con le funzioni del programma...
... dal sito base/root per andare alla pagina app01/start.html ...sai già come fare...
... per andare dalla pagina di una sotto-cartella start.html ad una pagina del sito base/root devi usare come detto prima un NUOVO LIVELLO con stessa modlità di collegamento, digitando il percorso relativo trasversale, per esempio:
../ (per andare nella INDEX base/root)
../NomePagina.html (per andare in una pagina del sito base/root)
../app02/start.html (per andare da una sotto directory all'altra)
...!... al posto della PATH trasversale puoi usare gli URL ASSOLUTI, ed in questo caso, con la struttura già realizzata in RETE, il test funzionerebbe anche in Anteprima...!...
... devi avere le idee chiare, e provare direttamente in RETE fin quando non ne sarai convinto e sicuro...
... per continuare, realizza questa struttura semplificata e posta il LINK di quello che hai fatto, in modo che si possa valutare...
.
Автор
Il problema è più complesso o io non ho capito come fare (ho la evolution 14)
Se io genero un nuvo livello, non genero una cartella ma solo un sottomenu. Anche se metto, giustamente, come link "app01/start.html" (pagina "start" che poi sposterò in app01) mantengo i riferimenti relativi e quindi saranno diretti verso "app01" (contenitore di "start") e non verso la root.
La struttura è questa:
Root (default.html)
|--Avvia app ->link app01/start.html
|------/app01/start.html (che contiene iframe con src="applogon.aspx"
|------/app01/end.html(iframe src="endapp.aspx")
In ogni caso ho trovato questa soluzione (ma sarebbe meglio se si potessero creare direttamente delle pagine in sottocartelle):
1. Crei la pagina start.html e end.html
2. Vai al punto 3 (mappa)
3. Nelle proprietà di ciascuna pagina, nella sezione esperto, aggiungi "dopo l'apertura del tag HEAD": <base href="../">
4. Nelle pagine aggiungi un controllo HTML e inserisci <iframe src="app01/applogon.aspx><iframe> (per la start e un equivalente per la "end" (nota che "app01/" serve perché viene "tradotto" in "../app01/" dal tag "base")
5. Esporti il sito su disco
6. Sposti con FTP le pagine
Ovviamente nell'anteprima non funzionerà, ma è sufficiente riprodurre la situazione nella cartella "Preview" per verificare.
... la cartella preview non c'entra niente e non devi prenderla in considerazione; ... la struttura la devi creare localmente in Esportazione su DISCO oppure Esportando in RETE...
... non puoi usare sotto-cartelle nel progetto, a meno che non fai uso di file allegati per i quali puoi assegnare anche una cartella destinataria che verrà generata automaticamente...
... ma devi essere sicuro del fatto tuo, conoscere bene il programma, ed vere le idee chiare sulla struttura che vuoi realizzare...
... se le pagine START per le sottocartelle app01- app02-app03-ecc. le devi creare con il programma, ogni pagina deve essere realizzata in un proprio progetto a se stante...
... in rete devi creare le cartelle app01-app02-app03-ecc. ...
... ogni progetto lo dovrai esportare nella rispettiva cartella, selezionandola nella struttura FTP ad albero...
... a meno che non gestisci il tutto usando la struttura normale al Passo_3...
...!... ma tu parli anche di IFRAME, e forse! di tutto questo che si sta dicendo se ne potrebbe fare a meno, ma certamente dipenderebbe dal contesto generale...!...
.
Автор
Purtroppo la struttura deve rimanere quella con cartelle applicative dot.net;
comunque ho di fronte due strade:
1. uso il tag <base> e sposto le pagine di avvio e chiusura nella cartella applicativa
oppure
2. creo la pagina in root con un iframe che avvia l'app e da quest'ultima, alla chiusura o nel caso di session expired, richiamo la root con "../" o la path completa (che in ogni caso si puo consifurare usando web.config).
Grazie comunque del tempo che mi hai dedicato.
... il p.2 lo preferirei, ma certo non so realmente di cosa si tratti...
... esporta qualcosa in rete in modo che si possa valutare nel concreto...
.
Автор
Non ho un sito di testing (in locale uso una macchina virtuale), ma vedrò cosa posso fare più avanti.
In ogni caso ho scelto la soluzione 2 che è più gestibile da dot.net.
Grazie ancora.
... eventualmente potresti fare come fanno in tanti per i test reali, esportando su Altervista ... ciao
.