realizzazione siti web con i cms – guida joomla 16

Realizzazione siti web con i cms – guida joomla 15
9 agosto 2010
Realizzazione siti web con i cms – guida joomla n.17
9 agosto 2010
Want create site? Find Free WordPress Themes and plugins.

Override di componenti e moduli
Template override
Un altra significativa innovazione in Joomla! 1,5 è la possibilità di “sovrascrivere” le impostazioni
di visualizzazione per tutti i componenti e i moduli, sia a livello di struttura che a livello
tipografico.
Questo garantisce agli sviluppatori di template un controllo e una definizione maggiore (nelle
versioni 1.0.x si è costretti al lavorare direttamente sui file del core ).
Osservando la struttura ad esempio del componente “content” notiamo che le strutture di
visualizzazione sono raccolte sotto questo percorso:
components\com_content\views\frontpage\tmpl
e precisamente ritroviamo:
default.php

default_item.php

default_links.php

relative alla struttura d ell’intera pagin a,del singolo elemento e della paginazione.
Lo stesso discorso è valido per i moduli
\modules\mod_footer\tmpl\default.php
Questa separazione strutturale permette all’atto pratico la sostituzione dei singoli elementi senza
dover necessariamente agire sui file del core di Joomla!,basterà inserire in una nuova cartella
“html” all’interno della cartella del template (rispettando i percorsi relativi) i file che intendiamo
sostituire per far sì che il sistema li riconosca in au tomatico ed utilizza questi ultimi per mostrare a
video l’output relativo.
Prendiamo ad esempio il listato iniziale del componente content presente nel core del CMS
<?php // no direct access
defined(‘_JEXEC’) or die(‘Restricted access’); ?>
<?php if ($this->params->get(‘show_page_title’)) : ?>
<div>
<?php echo $this->escape($this->par ams->get(‘page_title’)); ?>

</div>
<?php endif; ?>
<table cellpadding=”0″
cellspacing=”0″>
<?php if ($this->params->def( ‘num_leading_articles’, 1)) : ?>
<tr>
<td valign=”top”>
<?php for ($i = $this->pagination->limitstart; $i < ($this->pagination->limitstart + $this-
>params->get(‘num_leading_articles’)); $i++) : ?>
<?php if ($i >= $this->total) : break; endif; ?>
<div>
<?php
$this->item =& $this->getItem($i, $this->params);
echo $this->loadTemplate(‘item’);
?>
</div>
<?php endfor; ?>
</td>
</tr>
<?php else : $i = $this->pagination->limitstart; endif; ?>
<?php
Abbiamo evidenziato in rosso la classe css attraver so cui impostare i parametri relativi al titolo
della notizia,ora per far capire le possibilità di personalizzazione prendiamo come riferimento
l’override impostato nel template “beez” e relativo sempre a qu esto componente:

<?php // @version $Id: default.php 9722 2007-12-21 16:55:15Z mtk $
defined(‘_JEXEC’) or die(‘Restricted access’);
?>
<?php if ($this->params->get(‘show_page_title’)) : ?>
<h1>
<?php echo $this->escape($this->par ams->get(‘page_title’)); ?>
</h1>
<?php endif; ?>
<div>
<?php $i = $this->pagination->limitstart;
$rowcount = $this->params->def(‘num_leading_articles’, 1);
for ($y = 0; $ y < $rowcount && $i < $this->total; $y++, $i++) : ?>
<div>
<?php $this->item =& $this->getItem($i, $this->params);
echo $this->loadTemplate(‘item’); ?>
</div>
<span>&nbsp;</span>
<?php endfor; ?>
Evidenziate in rosso le modifiche effettuate. La classe “componentheading” è stata impostata
come h1,nel layout generale sono state eliminate tutte le tabelle e sostituite dal div contenitore con
classe “leading”.

Il risultato è perfettamente visibile utilizzando firefox e le sue estensioni e confrontando l’output
dei due template di default.

Did you find apk for android? You can find new Free Android Games and apps.