override blocco

17 contenuti / 0 new
Ultimo contenuto
override blocco

Ciao a tutti.
Sto provando a realizzare un mio tema e sto provando a capire la tecnica dell'override; premetto che sono alle prime armi con il teming di Drupal.
Vorrei fare override di block.tpl.php, ma ho notato che qualsiasi modica apporti (anche un semplice echo), non viene "vista" dal cms.
Ho tentato anche la tecnica dell'override per ogni singolo blocco, provando a nominare il file come p.e.
block--block-1.tpl.php
oppure col nome del blocco
block--NOMEBLOCCO.tpl.php

ma ancora una volta le mie modifiche non vengono attuate

cosa sbaglio?
dove posso trovare qualche tutorial/articolo utile alla comprensione e quindi alla risoluzione del problema?

grazie a tutti
M

Stai creando un tema da zero oppure un sotto tema a partire da zen,fusion ecc... ??

ciao,
sto creando un tema da zero, anche se, proprio per capire se ho sbagliato qualcosa ho provato anche su Bartik, ma il risultato è stato lo stesso....

Ti dimentichi di eliminare la cache.
Per i tutorial cerca su google "site:drupal.org block override"

strano perchè la cache di Drupal è disabilitata e quella del browser l'ho svuotata, ma non accade niente....

Devi cancellarla in performance, drupal mica rilegge ogni volta i file della cartella del tema, sarebbe uno spreco assurdo di risorse.

devi prendere l'originale del file block e fare l'override nella cartella del tuo tema.
fai così?

developmen wrote:
devi prendere l'originale del file block e fare l'override nella cartella del tuo tema.
fai così?

si, con le modalità sopra descritte

ealmuno wrote:
Devi cancellarla in performance, drupal mica rilegge ogni volta i file della cartella del tema, sarebbe uno spreco assurdo di risorse.

ho deselezionato tutto, non fa cache

hai eliminato la cache da configurazioni come ti ha detto ealmuno?

Forse non ci capiamo se disabiliti comunque non va sempre a rileggere i file nel tuo tema, altriment ia scndagliare tutto ci impiegherebbe tanto di più, premi quel pulsante che si chiama "clear cache" e vedi che te lo legge.

perdonatemi, ma c'è qualcosa che non va:
ho svuotato la cache ma ancora non va.

la "sintassi" del nome-file è corretta? o comunque, qual'è la sintassi corretta per l'overrride di un blocco preciso?

EDIT:
allora, il problema sta proprio nella sintassi del nome: svuotando la cache e nominando il file con il nome generico block.tpl.php le modifiche le vedo, ma se se rinomino il file come descritto in precedenza non va, quindi il problema è nel nome del file. Qual'è la sintassi corretta?
grazie

Parti dal block.tpl.php
http://drupal.org/node/11813
e questi i particolari:
http://drupal.org/node/104319
Se non funziona ancora svuota più colte la cache, controlla di aver fatto tutto giusto, che il tema sia attivo e che effettivamente ci sia un output da vedere.

In D6 c'è una particolarità parecchio rompente

I template specializzati vengono letti SOLO se nel tema esiste quello di base.

cioè, se manca block.tpl.php (e quindi stai usando il default), non leggerà mai block--block-1.tpl.php

La cosa è particolarmente fastidiosa per i sottotemi, visto che nei temi completi normalmente il block base viene messo, ma forse tu non ce l'hai.

Angelo Turetta

era spiegato qui: http://drupal.org/node/1089642 ed in ogni caso ha detto che ha provato pure con solo block.tpl.php.

sarò gnucco, ma non va
allora, come detto in precedenza, se il file lo nomino block.tpl.php, la modifica la fa
il problema nasce quando voglio cambiare solo un determinato blocco; seguendo quanto letto nell'articolo segnalatomi da ealmuno, e volendo (per esempio) modificare tutti i moduli di una determinata regione, ho rinominato il file in questo modo
block-sidebar_first.tpl.php
(preciso che il file .info è così configurato regions[sidebar_first] = Sidebar first)
la modifica non la vedo
cosa sbaglio?

risolto
ho rinominato il mio file in block--block--2.tpl.php

mi sembra un pò macchinoso trovare il nome del modulo, ma mi abituerò
grazie a tutti per il prezioso aiuto

che nome del modulo, nel link sopra c'è tutta la spiegazione e non è macchinoso.