modificare block.tpl.php
Ciao a tutti.
Ho creato un blocco ma vorrei dargli uno stile differente dagli altri.
Nel mio block.tpl.php (Marinelli) ho:
<div class="defaultblock">
<h2><?php print $block->subject; ?></h2><!--block title-->
<div class="blockcontent"><?php print $block->content; ?></div>
</div>Io vorrei cambiarlo, ma solo per il mio blocco, lasciando quello di default per gli altri .
Ho provato a smanettare con gli stili del display block della vista che crea il blocco, ma non ci riesco.
Aiutino?
Grazie, Valerio

Risposte
...credo di aver risolto.Nel
...credo di aver risolto.
Nel mio block.tpl.php ho sostituito tutto con:
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="clear-block block block-<?php print $block->module ?>">
<?php if (!empty($block->subject)): ?>
<h2><?php print $block->subject ?></h2>
<?php endif;?>
<div class="content"><?php print $block->content ?></div>
</div>
Mi ha creato dei div diverso per ogni blocco.
Ora non mi resta che definirli nel css.
Credo però che lo svantaggio sia che devo ridefinire tutte le classi di tutti i blocchi esistenti nonchè di ogni nuovo che andrò a creare.
Ho risolto così: <?php if
Ho risolto così:
<?php if ($block->module .'-'. $block->delta == 'views-eventi-block_1')
{?>
<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="clear-block block block-<?php print $block->module ?>">
<?php if (!empty($block->subject)): ?>
<h2><?php print $block->subject ?></h2>
<?php endif;?>
<div class="content"><?php print $block->content ?></div>
</div>
<?php
}else
{?>
<div class="defaultblock">
<h2><?php print $block->subject; ?></h2><!--block title-->
<div class="blockcontent"><?php print $block->content; ?></div>
</div>
<?php
}?>
In pratica, con il primo if "filtro" il blocco che mi interessa caratterizzare e lo tratto separatamente (nelmio caso si chiama 'views-eventi-block_1'), mentre per tutti gli altri lascio il valore di default.
Funziona, ma mi rimane un dubbio:
è il modo corretto?
Valerio
Ciao, non è sbagliato, ma per
Ciao,
non è sbagliato, ma per maggiore semplicità puoi creare un file
block-[nome-modulo]-[delta-blocco].tpl.php
(mi pare quindi block-views-eventi-block_1.tpl.php)
nel tuo tema e metterci solo il codice per quel blocco.
Ricordati di svuotare la cache per vedere le modifiche.
Ottimo!
Ho fatto come mi hai suggerito, e mi sembra logico e pratico.
Approfitto della tua gentilezza ed esperienza per un altro approfondimento:
Immagino che questo sistema valga anche per le viste.
Si chiamano view-[nome-vista].tpl.php?
E dove devo inserire i file: in /sites/all/modules/views/theme o in /sites/all/themes/marinelli?
E per i CSS?
Mi spiego:
posso definire un block-views-eventi-block_1.tpl.php associandogli un determinato e specifico css? Del tipo: ogni cosa al suo posto ed un posto per ogni cosa?
Grazie di nuovo.
Per le viste puoi vedere
Per le viste puoi vedere tutti i template suggeriti che sono a tua disposizione direttamente dalla pagina di modifica/creazione vista (admin/build/views/edit/[tua-vista])
"Impostazioni di base" > "Tema: Informazioni"
qui vedrai i file che vengono correntemente usati (in neretto) per il rendering della vista e quali potresti usare per cambiare la visualizzazione.
Tutti i template possono essere creati nella directory del tema che utilizzi (sites/[sito]/themes/[tema]).
Il primo metodo che mi viene in mente per caricare da un template un file CSS specifico (mi pare di aver capito che ti occorre questo) è di utilizzare al suo interno la funzione drupal_add_css().