come fare in modo che l'intera pagina non si ricarichi
Buongiorno.
Sto creando un tema per Drupal 7, tutto sembra andare bene finora. Ho alcune domande.
Un po' sul mio tema.
Ho un menu principale nella regione primari_link (dove si seleziona il tipo di contenuto) (e nella regione header)
c'è un menu di navigazione per articoli di un certo tipo, che cambia in base al menu principale. (nella regione colonna_sinistra) e (nella regione main-wrapper)
e c'è una colonna di contenuto in cui viene visualizzato un certo tipo di contenuto a seconda del menu principale. (nella regione colonna_destra) e (nella regione main-wrapper)
Prima domanda.
Come posso fare in modo che, quando si seleziona nel primari_link, venga ricaricata solo la regione sottostante nella struttura? Di conseguenza, la regione main-wrapper
poi, quando si seleziona nella regione colonna_sinistra, si ricarica solo la regione colonna_destra.
Penso che qui sia necessario utilizzare Ajax, ma non ho trovato nulla di chiaro su questo argomento.
Seconda domanda
come posso fare in modo che nella colonna sinistra venga visualizzato un certo tipo di contenuto. (un tipo speciale - modulo) la lista è diversa per ogni voce del menu principale e di conseguenza nella colonna destra a seconda dell'elemento selezionato nella colonna sinistra.
Terza domanda
ho creato 3 colonne e hanno altezze diverse. Voglio che abbiano tutte la stessa altezza. Uso Div per la formattazione.
Nel file page.tpl.php utilizzo Drupal 7
il seguente pezzo di codice
<script language="JavaScript" type="text/javascript">
	function setEqualHeight(columns){
		var tallestcolumn = 0;
		columns.each(function(){
			currentHeight = $(this).height();
			if(currentHeight > tallestcolumn){
				tallestcolumn = currentHeight;
				}
			}
		);
		columns.height(tallestcolumn);
	}
	$(document).ready(function() {
		setEqualHeight($(".container > div"));
});
</script>
Finalmente ho risolto questo problema dopo cena :) sembra che in Drupal 7 non piaccia quando si scrive $
deve essere sostituito con jQuery e tutto ha funzionato immediatamente.
Come ho letto, la ragione è che jQuery funziona in modalità noConflict
deve essere di questo tipo
jQuery(document).ready(function() {
setEqualHeight(jQuery(".container > div"));
});
quindi ovunque $ deve essere sostituito con jQuery e sarete felici.
Spero che queste informazioni possano essere utili a qualcuno.
Le prime 2 domande rimangono aperte.
- Accedi o registrati per poter commentare