qualcuno sa dirmi come limitare automaticamente il numero dei link al blocco-menu?
grazie
limitare titoli dei link nei blocchi
Lun, 15/12/2008 - 00:21
#1
limitare titoli dei link nei blocchi
credo di non aver capito cosa intendi, perchè il numero di link in un menu lo decidi tu.
--
Drupal e Siti Web Torino
Blog: Computer Graphics
C'è anche da implementare una modifica ai blocchi degli ultimi commenti etc ... se metti una parola lunghissima sborda ... c'è da modificare il modulo ... MA bisogna ricordarsi che ad ogni aggiornamento la modifica va persa ...
Siccome ho modificato diverse cose mi rifiuto di fare aggiornamenti perchè si perde un casino di tempo a ricordarsi che modifiche c'erano e non è possibile vivere con un log modifiche solo perchè c'è un aggiornamento ogni settimana ...
Ma ricordati di farla
-Tiziano-
Ciao Tiziano,
il metodo con cui stai procedendo è sbagliato!! NON devi assolutamente cambiare i file del core di drupal. Purtroppo è un errore ricorrente da cui tutti siamo passati (e molti ancora continuano a fare :-) ma prima o poi i nodi vengono al pettine).
Se vuoi variare il modo in cui si presenta il dato devi agire sul template del dato in oggetto oppure variarlo prima che esso venga restituito al template. Queste operazioni possono esser fatte definendo nuovi template o variando il template relativo del tema, in alternativa esistono gli hook, alcuni dei quali, ti consentono di trattare "l'informazione" prima che essa venga pubblicata.
Nel tuo caso particolare, una soluzione semplice è quella di andare a vedere l'id del blocco che vuoi personalizzare (es: block-block-6) e poi mettere il relativo template dentro la directory del tema es:
block-block-6.tpl.php
Lì dentro andrai a mettre i dati da mostrare e "taglierai" i titoli troppo lunghi. Tutto questo dipende anche da che tipo di template stai usando, tuttavia il concetto non cambia: mai variare il core!!
Ciao
Gianni
Sottoscrivo quanto detto da Gianni. Ma...
... ma se proprio devi modificare il core, una soluzione c'è: crea una patch usando l'utility diff. In questo modo, potrai applicare le modifiche che hai fatto semplicemente applicando le patch dopo ogni upgrade. Puoi fare la stessa cosa con i moduli contrib, per poter aggiornare anche loro: per ogni modifica che fai, crei una patch e dopo ogni aggiornamento vai a guardare nella cartella in cui archivierai tutte le patch quelle che devi applicare.
Beh ma ad esempio sul blocco dei commenti recenti ai blogs o articoli ... volendo cambiare l'output ossia anziché mettere solo i titoli, mettere l'autore:parte del titolo tagliato a max X caratteri è una cosa che devo fare sul modulo originale ... o sbaglio ? Le variabili tutte sono da considerarsi globali ?
-Tiziano-
Nel caso del blocco, se tu vuoi cambiare il titolo, basta che cambi $block->subject e lo imposti come meglio credi..... però, vedo che a te interessa cambiare il contenuto del blocco. Purtroppo esso viene passato come valore di $block->content, quindi non puoi operare sulle singole righe, che nel tuo caso corrispondono a quel che vuoi tagliare.
- Potresti fare una cosa semplice:
1) ti crei un nuovo modulo chiamato "commenti_personalizzati" con relativo .install (vuoto) e .info
2) dentro ci metti l'hook_block che ti crea il blocco come meglio desideri inserendo il seguente codice per la generazione del content:
OVVIAMENTE DEVI METTERE LE TUE VARIAZIONI
A questo punto installi il modulo e attivi il blocco al posto di quello che hai.
- In alternativa puoi farti un blocco da drupal, lo imposti come formato php e ci metti il codice sopra
- Oppure ti fai una funzione che prende riga per riga del $block->content, estrai la stringa che viene mostrata all'utente, la tagli e la riposizioni nel codice..... non è semplicissimo ma hai il vantaggio che a quel punto la usi nel template su $block->content...... Magari prendila come ultima ipotesi :-)
Il vantaggio delle soluzioni sopra è che non modifichi il core e puoi farti tutti gli aggiornamenti che vuoi senza far casini.
Ciao
Gianni
intendevo:
sono amministratore di un sito;
autorizzo un utente a creare un determinato contenuto, ad es. page;
i titoli dei contenuti page creati dall'autorizzato finiscono in un menu-blocco.
desidero che nel menu-blocco compaiano solo gli ultimi (ad es.) 5 titoli creati
avete suggerimenti
Usare views?
farti una query su un blocco di tipo php?
Ciao
Gianni
mi sa che tocca studiare
speravo ci fosse qualcosa di immediato
All'inizio Drupal è così,un po' spigoloso. Ma se hai costanza , pazienza e segui i consigli di chi è più esperto
..... non lo abbandonerai più.
________________________________________________________________________________________
Quando risolverai il problema, scrivi come hai fatto, e se puoi scrivi [RISOLTO]
Sarà utile ad altri. Grazie
enzoazzolini.it
NOn ho ancora vuto tempo ma con calma cercherò di fare quello che mi hai suggerito ... senti .. e per i moduli che ho tradotto in italiano ? Dovrò rifare tutto penso :-(
-Tiziano-