Vorrei personalizzare solo una parte del tipo di contenuto, e cioè il corpo.
Direttamente via css non trovo nulla su cui applicare la classe. Con firebug vedo che tutti i campi hanno una classe tranne il corpo, dove c'è solo il tag p.
Modificando il template, applicando la classe al content mi si modifica ovviamente tutto il contenuto e non solo la classe che mi interessa.
Ho provato ad installare contemplate ma, a parte che non mi è del tutto chiaro come intervenire, mi si mostrano tutti i div con le relative classi, ma del corpo del nodo non vedo traccia.
ciao e grazie
semantic views o modifica il template della vista.
http://www.chromeos.eu
ci sono molte opzioni (d6).
una è contemplate.
puoi creare un template per il content type, ma devi destrutturare e ricostruire tutto il contenuto.
puoi costruirti un mini-modulo con questo semplice codice (vedi http://capellic.com/blog/theming-the-node-body-field):
puoi usare questo modulo: http://drupal.org/project/body-wrap-filter (nota: il nome della classe lo devi modificare nel codice)
Certified to Rock
@ealmuno
è il nodo che devo modificare, non la vista. Semantic view è comunque molto interessante.
@bohz
Il modulo body wrap filter funziona, ma applica le modifiche a tutti i corpi del sito e non solo dove mi serve.
Contemplate non mi mostra la sezione del corpo, neanche dopo aver installato body wrap.
ciao e grazie
www.gmpe.it
se il tuo tema fornisce, come spero, una body class per il tipo di nodo puoi specificarlo nel selettore CSS.
il filtro ti fornisce
.body-field-content
; se ad esempio hai un content type "pagina" e la rispettiva body class, puoi fare.content-type-pagina .body-field-content{
...
}
Certified to Rock
Ma come aggiungo
.content-type-pagina?
Al momento la visualizzazione è questa:
http://iismarchesi.it/content/documento-1-2011
ciao e grazie
www.gmpe.it
purtroppo il tuo tema non ha una classe per content type.
dovresti aggiungerla in template.php. però bisogna vedere se il tuo tema usa la variabile $classes o $body_classes o altro.
che tema(base) utilizzi?
Certified to Rock
Scusa se mi intrometto.
Non è che tu abbia già inserito in sito il modulo Panels?
Panels è un modulo che con la funzione Node template permette di fare molto.
E' un po' pesante, ma io lo uso spesso e l'ho uasato anche ora con Drupal 7 per Albo.
Ossia la tabella Albo documenti in fase di pubblicazione e Albo storico sono molto simili a quanto anch'io ho fatto.
Però la visualizzazione del singolo nodo-atto l'ho realizata con Panels usando Node template
@bohz
che tema(base) utilizzi?
uso simply_modern 1.5 per tutti i siti che ho fatto.
@luisasasi
Panels lo uso già in alcune pagine del sito, ma stavo studiando una maniera per eliminarlo. Al limite provo con quello.
ciao e grazie
www.gmpe.it
ahimè, simply modern è un tema, diciamo sui generis, e un po' attempato.
si può senz'altro inserire una classe per content type, ma bisogna vedere..
se ho tempo provo.
Certified to Rock
Il tema è attempato come me.
Ho risolto comunque sfruttando la classe degli altri campi e mi pare che il risultato sia complessivamente soddisfacente.
ti ringrazio
ciao
www.gmpe.it
non volevo mica offendere.
ho provato con simply_modern:
se vuoi una classe per content type puoi inserire questo codice nella funzione di preprocess_node del tuo template.php:
poi, in node tpl.php inserisci
<?php print $nodeclass; ?>
nella divnode
, tipo:<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?><?php print $nodeclass;?>">
poi potrai creare regole CSS specifiche del tipo:
.pagina .body-field-content{
...
}
Certified to Rock
Perché mi dovrei sentire offeso? e di che cosa? Sei sempre molto gentile e disponibile e la mia era solo una battuta.
Ti ringrazio per tutto il lavoro. Ho altri due siti dove poter sfruttare i tuoi suggerimenti.
ciao e grazie ancora
www.gmpe.it
ma scusate, non si fa prima ad aggiungere la classe o ID a
style.css
(oppure ad uncustom.css
) del tema e inserire nel body (con filtro PHP abilitato...) una cosa del genere?<div class="mia_classe_custom_per_il_body_01">
contenuto...
</div>
...eventualmente "annidare" altri DIV per un Body + complesso???
io uso spesso questa "tattica" e mi ci trovo benone... o che abbia capito male... ma mi sembra abbastanza chiara l'esigenza...
Questa modalità va bene quando crei un nodo e vuoi formattarlo a tuo piacere. Qui invece c'è un tipo di contenuto che deve essere uniformemente formattato.
L'operatore che deve creare il contenuto, deve già trovare la classe preimpostata e non può, per ogni nodo, scrivere il codice (a parte che non ne sarebbe assolutamente capace).
ciao
www.gmpe.it
ah... ok!
ciao
ci sarebbe un piano B...
cambi in
node-my_ctype_01.tpl.php
da così:<div class="content clear-block">
<?php print $content ?>
</div>
a così:
<div class="content clear-block">
<div id="stampa_body">
<?php print $node->content['body']['#value']; ?>
</div>
<div id="stampa_campo_cck_01">
<?php print $node->field_cck_01[0]['view'] ?>
</div>
<div id="stampa_campo_cck_02">
<?php print $node->field_cck_02[0]['view'] ?>
</div>
</div>
e così via...
certo che sei una miniera di idee.
Per adesso mi accontento di dove sono arrivato.
ciao e grazie a tutti
www.gmpe.it