Pagina 1 di 1

Incertezza menu PHP

Inviato: mar 3 lug 2012, 1:26
da samiel
In un sito, deve comparire un menu laterale richiamato dal menu orizzontale fisso,
ma solo in alcune pagine. Ad es nella home questo menu non serve e non ci deve essere.
Quale sistema posso adottare? Metterlo come modulo e poi richiamarlo dove serve
elencando le pagine in un semplice costrutto con operatore ternario?

Grazie
M

Re: Incertezza menu PHP

Inviato: mar 3 lug 2012, 8:17
da aschenaz
Ciao Mauro! :)

Io una cosa del genere la gestisco col database: ho una tabella "pagine" ed una "sezioni" che fa riferimento alle pagine.
Poi scorro la tabella delle pagine, mi vado a controllare se esistono sezioni che puntano alla pagina e creo un array bidimensionale da dare in pasto al menu.
Lo scopo di usare il database è quello di rendere dinamica la gestione delle sezioni (così, infatti possono essere aggiunte o tolte sezioni a piacimento).
Se questa feature non serve, basta creare direttamente l'array bidimensionale:

Codice: Seleziona tutto

$menu=array(
 "home"=>array(),
 "paginaX"=>array("sezioneA","sezioneB",...)
 ...
);
Naturalmente, dove c'è array(), significa che non ci sono sezioni.

Poi gestisci col foreach:

Codice: Seleziona tutto

foreach($menu as $pagina=>$sezioni) {
 if(count($sezioni>0)) etc....
}
...

Re: Incertezza menu PHP

Inviato: mer 4 lug 2012, 2:13
da samiel
Ehi Nino, come stai ? :-)

Asp... Mi spiego meglio. Io vorrei ad esempio
che la home abbia due colonne, una larga a sinistra
e una piu stretta a destra, entrambe con del testo.
Poi, quando dal menu orizzontale posto in testa
scelgo un'altra voce la pagina che appare
dovrebbe avere le due colonne invertite:
un menu con le sezioni a sinistra e la colonna
larga col testo a destra. In un altro caso ancora
la pagina potrebbe non richiedere il menu sinistro.
È possibile tutto ciò, magari col ricorso a CSS diversi?

M

Re: Incertezza menu PHP

Inviato: mer 4 lug 2012, 8:11
da aschenaz
Non c'è malaccio, dai. Tutto sommato, le cose vanno bene! :)

Beh, certo, con php puoi fare un po' tutto.

Io mi regolo così: creo dei moduli con il contenuto di box, colonne etc., su file a parte (li chiamo, ad esempio, modulo-blabla.php, box-taldetali-php...); in uno di questi puoi anche inserire il menu verticale; poi creo delle pagine contenitrici in cui posiziono i moduli, pagine che vengono richiamate dalle voci di menu.
Ad esempio, la pagina delle news avrebbe più o meno questa struttura:

Codice: Seleziona tutto

<div id="colonnasinistra">
<?php include("modulo-menuverticale.php"); ?>
</div>
<div id="colonnacentrale">
Qui richiamo le news dal database...
</div>
<div id="colonnadestra">
<?php 
include("box-qualcosa.php"); 
include("box-qualcosaltro.php"); 
?>
</div>
In questo modo, le pagine le puoi comporre e scomporre come vuoi con facilità; ulteriore vantaggio consiste nel fatto che, se determinati box si ripetono su più pagine, se li devi modificare, lo fai una sola volta (modifichi, infatti, il modulo da includere).

Recentemente ho rifatto il sito della parrocchia con questo sistema: http://www.loretorc.org ...

Re: Incertezza menu PHP

Inviato: gio 5 lug 2012, 2:45
da samiel
Intanto grazie mille delle indicazioni.
In questi giorni son un po preso dagli Esami di Stato,
ma appena finito mi ci dedico...

M

Re: Incertezza menu PHP

Inviato: mar 10 lug 2012, 8:46
da samiel
Ho capito il discors dei moduli.
Ma, visto che in un sito diciamo che ci saranno
due, tre, al massimo quattro formati differenti
di pagina, fai tanti include singoli o automatizzi la cosa?
Intendo dire: per la pagina 1 includi i tali moduli,
per le pagine 1, 2, 3 e 4 includi i talaltri moduli
e infine per le pagine 5, 6 e 7 questi altri ancora?

M

Re: Incertezza menu PHP

Inviato: mer 18 lug 2012, 21:56
da aschenaz
(Scusa: ho visto solo ora il post)

Beh, in effetti, io di solito predispongo un file standard, per gestire quelle pagine in cui le differenze derivino dinamicamente dai contenuti del database e poi un'altra manciata di file per quelle pagine che non seguono lo stesso schema. In entrambi i casi (pagine standard e pagine "anomale"), comunque, uso quel sistema dei moduli inclusi.

Bisognerebbe partire dal presupposto di non ripetere mai parti di codice: se diverse pagine devono avere parti uguali (o anche simili), è sempre produttivo (e utile) ricorrere all'include...

Re: Incertezza menu PHP

Inviato: lun 3 set 2012, 18:28
da samiel
Riprendo il discorso perché è iniziato l'anno scolastico
e ho ripreso in mano il sito della scuola. Tu metti tutte le pagine nel db
e poi usi volta per volta include in questo caso ?

M

Re: Incertezza menu PHP

Inviato: lun 3 set 2012, 21:16
da aschenaz
Dipende: se si tratta di pagine che necessitano di variazioni continue, predispongo una tabella di db per i contenuti, da modificare per mezzo di un pannello di amministrazione e poi li richiamo semplicemente con le query al database; se invece si tratta di contenuti più o meno statici, allora ricorro all'include. Certo, i moduli inclusi, a loro volta, possono far riferimento al database per contenuti particolari, liste o tabelle... Un sito dinamico lo è anche in questo senso: ci si regola di volta in volta, in modo da ottenere la maggior produttività...

Re: Incertezza menu PHP

Inviato: mer 5 set 2012, 0:21
da samiel
Io ho pagine tipo i regolamenti e il POF che si modificano una volta l'anno,
pagine come quelle che contengono bandi circolari e avvisi che cambiano
tutti i giorni. Il vantaggio di usare un db, adesso che MySQL consente
se non erro la ricerca "full-text" è quella di poter creare anche
un motore di ricerca interno. Nota che ad esmepio le News
sono semplice testo formattato, non dati di elenco cioè elementi
puramente tabellari... Dici che è conveniente inserirle nel db?
E poi
da modificare per mezzo di un pannello di amministrazione
Ma usi qualcosa di "prefabbricato"?

M

Re: Incertezza menu PHP

Inviato: dom 9 set 2012, 12:09
da aschenaz
Scusami se non ho risposto prima.

Sì, quando ci sono dati da variare spesso, anche se semplice testo, conviene sempre gestirli col db. Altrimenti ti tocca ogni volta modificare le pagine, mandarle in ftp...

Io uso dei content manager fatti da me, che configuro in base alle esigenze del sito.
Per gestire al meglio un sito dinamico senza eccessivi sbattimenti, forse sarebbe opportuno ricorrere a dei cms preconfezionati. Ce n'è per tutti i gusti e per tutte le esigenze... Pure io, che sono un fanatico del DIY, per il mio blog musicale ho fatto ricorso ad un cms (a proposito, si tratta di Dotclear: ottimo; per quanto mi riguarda, lo preferisco anche a Wordpress...). :)

Re: Incertezza menu PHP

Inviato: lun 10 set 2012, 20:55
da samiel
Sì, quando ci sono dati da variare spesso, anche se semplice testo, conviene sempre gestirli col db. Altrimenti ti tocca ogni volta modificare le pagine, mandarle in ftp...
Il sito è ospite del server della provincia; no so se ho capito bene,
ma un ogni caso dovrò caricare i file nel db /mySQL) presente
nel server della provincia...
Io uso dei content manager fatti da me, che configuro in base alle esigenze del sito.
E quoesto è decisamente al di sopra delle mie capacità.
Poi ho lasciato stare per varie ragioni PHP, adesso dovrei rimettermi a studiare.
Dorclear non lo conosco. comunque a me non serve un blog e basta, devo risistemare il sito!
E Joomla? Una collega di un'altra scuola se n'è servita per costruire il sito di suola sua

Grazie
M

Re: Incertezza menu PHP

Inviato: mar 11 set 2012, 16:08
da aschenaz
Joomla è uno dei cms più completi (ma anche più pesanti).

Poi ce n'è un'infinità: guardavo questa lista, in cui, oltre ai soliti Wordpress, Joomla e Drupal, ce ne sono alcuni interessanti che finora non conoscevo...

Re: Incertezza menu PHP

Inviato: mar 11 set 2012, 20:27
da samiel
Trattandosi non di un sito "amatorial", ma di quello ufficiale di una scuola,
mi servirebbe qualcosa che offra garanzie di continuità nello sviluppo.
Effettivamente nel link che mi hai segnalato ce n'è per tutti i gusti,
ma sappiamo che nel mondo del software libero il rischio è progetti
sorti muoiano poco dopo. So che Joomla è potente e ampliabile,
l'ho installato qualche tempo fa. Di Drupal dicono che è difficile
metterci le mani; pare che anche il sito della Casa Bianca
sia realizzato con Drupal. Scelta difficile... :-)

M