Back to top

Autore Topic: Modificare Modulo  (Letto 1386 volte)

Offline eloise

  • Esploratore
  • **
  • Post: 86
  • Sesso: Femmina
    • Mostra profilo
Modificare Modulo
« il: 07 Apr 2010, 17:12:34 »
Ciao a tutti, ho installato booklibrary e il suo modulo mod_booklibrary_newbooks_ext_1_5.php (praticamente elenca i libri in ordine di uscita, con la copertina).

Ho messo il modulo in posizione breadcrumbs, e vorrei che la pagina sia divisa in due colonne, ma il moduulo non lo consente, da principiante ho modificato il file php del modulo inserendo una colonna sulla destra, in questo modo però la colonna si è duplicata, cosa devo modificare per fare in modo che i libri vengano ordinati su entrambe le colonne?

Allego immagine di come è ora, dopo la duplicazione della colonna e il file .php che ho modificato.


Vorrei anche creare un menu sulla sinistra dove vengano elencate le sole categorie (una volta che clicco sulla categoria si apre la pagina con tutti i libri della categoiria), ho provato in tutti i modi ma non riesco avete idee?

Grazie in anticipo a chi mi può aiutare, non so proprio dove sbattere la testa.

ciao
Roberta

[allegato vecchio più di un anno eliminato automaticamente]

Offline Olinad

  • Esploratore
  • **
  • Post: 143
  • Sesso: Maschio
  • Fletto i muscoli e sono nel vuoto :3
    • Mostra profilo
Re:Modificare Modulo
« Risposta #1 il: 07 Apr 2010, 18:24:06 »
E' molto semplice da fare ma difficile da spiegare così su due piedi... vedrò di fare del mio meglio.

prima del foreach, che è il codice che si ripete per ogni libro (o quello che è) determina una nuova variabile, chiamandola come vuoi... nel mio esempio $grid

Codice: [Seleziona]
$grid = 0;
A questo punto entra nel foreach e appena prima del codice che stampa l'output del singolo libro metti una cosa del genere

Codice: [Seleziona]
if ($grid == 0) {
   echo '<table>';
   $grid++;
}

if ($grid == 1) {
   echo '<tr>';
}

echo '<td>';

In questo modo, se la tabella è appena stata iniziata mette il tag <table> e fa salire di uno il valore di grid. A questo punto se il valore di grid è 1, e quindi siamo alla prima colonna, aggiunge anche il tag <tr> per fare una riga. Il tag <td> viene aggiunto sempre per ogni articolo.

Subito dopo la parte che stampa l'output del singolo libro va inserito qualcosa tipo

Codice: [Seleziona]
echo '</td>';

if ($grid == X) { //X è il numero di colonne dopo cui creare una nuova riga
   echo '</tr>';
   $grid = 1;
}else{
   $grid++;
}

La colonna viene sempre chiusa, non penso vada spiegato il perchè visto che la apriamo sempre. se il numero della colonna attuale raggiunge la X (il numero di colonne che vogliamo) allora chiudiamo anche la riga e settiamo il numero della colonna a 1 in modo che dopo venga aperta un'altra riga. Se invece non siamo ancora all'ultima colonna della riga, e quindi $grid ha un valore intermedio, aumentiamo $grid di 1 (e quello è il valore che esso avrà per il prossimo articolo - mettendo la dichiarazione di $grid nel foreach avremmo avuto sempre prime colonne).

A questo punto ci basta chiudere la tabella alla fine del modulo, subito dopo la chiusura del foreach. Per evitare di chiudere tabelle che non sono state aperte perchè non c'erano articoli basta aggiungere

Codice: [Seleziona]
if ($grid != 0) {
   echo '</table>';
}

Ovviamente puoi mettere le impostazioni che vuoi ai tag table, per esempio per determinare una larghezza fissa delle colonne. Consiglio, usando questo metodo, di fissare un'altezza per il tag <div> contenente il libro (<div style="width: XXXpx;">) in modo che essi risultino più ordinati.

Ho usato questo metodo nel mio modulo, quindi non dovrebbero esserci problemi, ma visto che l'ho riscritto a memoria potrei aver fatto qualche errore di battitura o aver dimenticato qualcosa. Fammi sapere se funziona :)

Offline eloise

  • Esploratore
  • **
  • Post: 86
  • Sesso: Femmina
    • Mostra profilo
Re:Modificare Modulo
« Risposta #2 il: 13 Apr 2010, 10:43:19 »
Ti ringrazio per la spiegazione, a dir la verità essendo  principiante non ci ho capito molto  :)
Ma non mi perdo d'animo e appena ho un'attimo provo a seguire quello che mi hai scritto ;-) vediamo cosa esce fuori.

a presto
grazie
ciao
Roberta

Offline Olinad

  • Esploratore
  • **
  • Post: 143
  • Sesso: Maschio
  • Fletto i muscoli e sono nel vuoto :3
    • Mostra profilo
Re:Modificare Modulo
« Risposta #3 il: 13 Apr 2010, 13:48:54 »
...non avevo visto il modulo in allegato al post. Provo a darci un'occhiata nel primo pomeriggio per fare io stesso la modifica, se possibile (anche se non sono sicuro di poter testare il modulo senza il componente, quindi non potrò fare debug)

 



Web Design Bolzano Kreatif