titolo contenuto: multi-formattazione css
Salve.
Ho provato a formattare il titolo di un contenuto che io creo direttamente dal box inserimento titolo aggiungendo delle classi:
esempio:
Titolo
<span class="nome classe">Il</span> Formaggio
Nulla da fare: i tag non vengono riconosciuti ma visualizzati assieme al titolo stesso.
E' possibile?
Grazie
D
____________________________________________
la maggior parte delle persone scambia l'educazione per debolezza, la correttezza per passività.
Risposte
Drupal mostra di default i
Drupal mostra di default i titoli filtrandoli tramite la funzione check_plain(), e questo fa sì che eventuali tag HTML vengano mostrati come testo semplice. Puoi facilmente aggirare questo filtro cambiando qualcosina nel tema utilizzato. Ti mostro un esempio con l'engine phptemplate, per un nodo di tipo pagina.
Il nodo di tipo pagina è reso tramite il template page.tpl.php, e in particolare il titolo è reso da:
<?php if ($title) { ?><h1 class="title"><?php print $title ?></h1><?php } ?>
Nel phptemplate.engine, funzione phptemplate_page(), la variabile $title è definita come drupal_get_title(), e nella funzione node_page(), sul case 'view', puoi trovare:
drupal_set_title(check_plain($node->title));
Il titolo viene filtrato fin dall'inzio, e nel template del nodo viene preso proprio il titolo filtrato.
Per mostrare il titolo originale, senza filtri, basta sositituire $title con $node->title, perché fortunatamente al template della pagina viene passata anche la variabile $node per intero, proprio per avere a disposizione il nodo originale:
<?php if ($node->title) { ?><h1 class="title"><?php print $node->title ?></h1><?php } ?>
Perfetto
Il tempo di provarlo stasera (qui non ho drupal con me).
Domani saprò aggiornarti.
Grazie per la dettagliata ed esauriente risposta!
D
la maggior parte delle persone scambia l'educazione per debolezza, la correttezza per passività.
ok
Modifiche eseguite: titoli formattabili via css.
Alla fine mi sono accorto che, naturalmente, la modifica coinvolge anche il title della pagina mostrando gli span nella barra del browser.
Cerco di riguardarlo stasera: consigli in merito?
Ancora grazie!
D
____________________________________________
la maggior parte delle persone scambia l'educazione per debolezza, la correttezza per passività.
Per il titolo della pagina
Per il titolo della pagina puoi cavartela rapidamente. Nella funzione di tema che vai a modificare, prima di passare le variabili al template, ridefinisci il titolo della pagina togliendo tutti i tag html:
drupal_set_title(check_plain(strip_tags($node->title)));
ok
Stasera provo.
Grazie ancora :-)
D
_______________________________________________________
la maggior parte delle persone scambia l'educazione per debolezza, la correttezza per passività.
titolo finestra
C'è qualcosa di sbagliato in quel che faccio nel file phptemplate.engine
Mi ridà, per tutte le pagine interne, solo il titolo e lo slogan che ho dato nei settaggi generali.
____________________________________________
la maggior parte delle persone scambia l'educazione per debolezza, la correttezza per passività.
page_title
Ho eseguito l'upgrade alla 4.7.2 ed utilizzato il modulo page_title;
Per ogni contenuto ho due campi di testo:
1. Titolo: dove inserisco il titolo con i tag
2. Titolo di pagina: dove inserisco il titolo senza tag
Assieme alla prima modifica che mi hai suggerito ($node->title) ora funziona a dovere anche con altri moduli (es.: similar)
Grazie :-)
D
____________________________________________
la maggior parte delle persone scambia l'educazione per debolezza, la correttezza per passività.