"Gli Jatravartid di Viltvodle VI credono invece che il cosmo sia nato dallo starnuto di un essere chiamato il Grande Ciaparche Verde."

Towel Day - Non fatevi prendere dal Panico

Guida Galattica per gli Autostoppisti

Lavori di ristrutturazione

I più attenti tra i numerosi visitatori del sito avranno certamente notato la comparsa di un nuovo link sulla Cookie Policy, oltre ad alcune modifiche del layout, come ad esempio la citazione nelle pagine principali dei vari menu. Oddio "alcune" è una parola grossa; diciamo che questa è l'unica modifica relativa al layout, che però è meno immediata di quanto possa sembrare.

Altra novità, potenzialmente più critica, riguarda il motore PHP; da qualche tempo all'apertura del pannello di amministrazione Joomla continuava ad avvisarmi del futuro abbandono di PHP 5.6, che sarà supportato solo a livello di fix di sicurezza, consigliando l'aggiornamento a PHP 7. Inoltre, è noto che la futura versione 4 di Joomla richiederà lo stesso PHP 7, per cui ho ritenuto fosse arrivato il momento di aggiornare.

Fortunatamente Altervista, dove pubblico il sito, permette il passaggio alla nuova release di PHP semplicemente selezionando la versione corretta nel pannello di controllo, per cui dal punto di vista operativo il procedimento è stato davvero immediato.

Non mi aspettavo particolari problemi sul sito, visto che non uso (per ora) codice PHP diretto nè plugin o estensioni "strane"; ed infatti tutto pare funzionare.

Un'ultima nota, per sola mia documentazione personale, sulla modifica relativa alla personalizzazione della sezione Sottotitolo delle voci di menu con link a categoria. Non è complicata ma nemmeno così banale. Questo significa che, tra un paio di mesi, me ne ricorderò a fatica, per cui è bene ne tenga traccia.

Anzitutto, ricordo che il sottotitolo si imposta definendo un menu di tipo Categoria Blog; nelle opzioni dello stesso, nella scheda Categoria, si trova l'impostazione Sottotitolo pagina, che visualizza il messaggio iniziale nella pagina principale della categoria corrispondente. Ovviamente, questo campo non può contenere tag HTML, che vengono rimossi in fase di salvataggio.

Questo significa che per applicare uno stile personalizzato si deve intervenire sul codice che genera la pagina corrispondente. Come noto, è sempre bene evitare modifiche ai file core e ricorrere alla tecnica dell'override, di cui ho già parlato.

Il primo passo è individuare la pagina da modificare; nel template usato per questo sito (Master 2) si tratta di blog.php. A questo punto è sufficiente esaminare il codice PHP per individuare dove intervenire; le righe che pubblicano il sottotitolo, se presente, sono queste:

<?php if ($this->params->get('page_subheading')) : ?>
<h4 class="subtitle1"><?php echo $this->escape($this->params->get('page_subheading')); ?></h4>
<?php endif; ?>

Visto che nel mio sito il sottotitolo è sempre una citazione, con nome dell'autore, ho deciso di visualizzare il tutto utilizzando la classe dedicata Blockquote di UIkit, su cui sono basati parecchi template di YOOtheme. L'unico problema è che il nome dell'autore va racchiuso tra i TAG <small>, come descritto nella pagina della documentazione di UIkit. Non è possibile, l'ho scritto sopra, inserire TAG HTML nel campo sottotitolo, per cui è stato necessario inserire il testo del campo stesso "racchiudendo" il nome dell'autore all'interno di un campo identificatore dedicato.

Mi spiego. Se il contenuto del campo sottotitolo è "Cartago delenda est" Cicerone, ho pensato di scriverlo come "Cartago delenda est" ^small^^Cicerone^/small^^, servendomi del delimitatore di TAG (inventato) ^...^^ e relativa chiusura, ovviamente. Il delimitatore ^...^^ ha lo scopo di evitare il carattere <...>, che verrebbe rimosso in fase si salvataggio. Questo mi permette di individuare facilmente il testo da racchiudere tra i TAG corretti <small>; è sufficiente sostituire al codice precedente questo codice:

<?php if ($this->params->get('page_subheading')) : ?>
<blockquote class="uk-margin-small-top uk-margin-small-bottom">
	<?php 
		// inserire nome autore con ^small^^nome^/small^^ nel campo "sottotitolo pagina" 
		$original=array("^^","^");
		$replaced=array(">","<");
		echo str_replace($original,$replaced,$this->escape($this->params->get('page_subheading')));
	?>
</blockquote>
<?php endif; ?>

Niente di complesso: semplicemente, sostituisco ^...^^ con il valore <...> e ^/...^^ con il valore </...>. La riga HTML <blockquote class=...< applica il TAG relativo alla citazione. Tutto qui.

IMPORTANTE: l'ordine di sostituzione negli array è da rispettare.

Con mia sorpresa, ha funzionato tutto subito.

Tags: Joomla, Override, Personalizzare template, Cookie, PHP

Contattami, ma pensaci bene

  • Scrivimi, affinchè possa ignorarti con calma
  • Pubblico questa roba dalla Bassa Modenese. Sì, la zona del terremoto di maggio 2012...

    ... tromba d'aria nel 2013...

    ... alluvione nel 2014...

    ... nuova tromba d'aria nel 2014

Cominciamo ad essere un po' scocciati

E questo Ciaparche, cos'è?

Se ti punge vaghezza di conoscere la risposta e dimostrare così la tua ignoranza, non temere: nessuno dal monitor ti osserva (sicuro? Meglio essere attenti... controlla le impostazioni di privacy della fotocamera), per cui corri ad informarti facendo clic sul link sotto.

Se sei tra quegli eletti che hanno colto la citazione, hai tutta la mia approvazione.

Soddisfa la tua curiosità

Riassunto per pigri

Se i titoli dei menu non ti sono chiari, al tuo posto mi preoccuperei. Vabbè oggi mi sento magnanimo e ammetto che alcuni sono criptici o ambigui, per cui ho deciso di metterti a disposizione un riassunto che ti spiega in breve cosa troverai in questo sito.

Dissipa i tuoi dubbi