Supporto volontario e collaborativo per Joomla!® in italiano

Override template - parte 3.2 - modificare modalità Lista

informazioni utili

Ciao, ben ritrovato con un nuovo articolo per l'override di Joomla. Questa volta concludo il discorso iniziato nell'articolo precedente (il 3.1), trattando la visualizzazione del contenuto di una categoria, mediante l'uso della lista, o tabella come vedrai. Attenzione: alcune parti son risultate identiche a quelle già viste nel precedente articolo, pertanto ho pensato di linkare le parti identiche senza ripetermi nei contenuti. Pronto? Via!!!
Funziona suJoomla 2.5


Ti parlo ancora della visualizzazione della categoria con articoli e sottocategorie; nell'articolo precedente, parlavo della modalità Blog, mentre in questo articolo parlo della modalità lista.

Come d'abitudine, il menu sottostante, ti facilita la navigazione: pronto? Via!


Aree Tematiche

  1. Di cosa stiamo parlando?
    1. Si, ma io cosa vedo?
    2. Quale cartella devo considerare e dove devo copiarla? (articolo precedente)
    3. Chi sono e cosa fanno questi file? (articolo precedente)
  2. Lista
    1. Elenco File
    2. Suddivisione schematica dell'output Lista
    3. default.php
      1. Le prime 14 righe
      2. Div e titolo intestazione
      3. Sottotitolo
      4. Descrizione categoria
      5. Articoli e filtro
      6. Sottocategorie e chiusura div
    4. default_articles.php
      1. Le prime 21 righe
      2. Nessun articolo da visualizzare
      3. Articoli da visualizzare ed apertura form
      4. Filtro
      5. Limite articoli
      6. Ordine visualizzazione tabella
      7. Inizio tabella ed inizio intestazione
      8. Intestazione data
      9. Autore, visite e fine intestazione
      10. Inizio pubblicazione lista, apertura riga
      11. Ordine visualizzazione tabella e visualizzazione titolo
      12. Visualizzazione data
      13. Visualizzazione autore
      14. Visualizzazioni o Hits
      15. Riga non accessibile a tutti
      16. Aggiungi articolo dal frontend
      17. Condizione per la paginazione
      18. Paginazione
      19. Visualizzazione link e chiusura finale
    5. default_children.php (articolo precedente)
      Attenzione: l'unica differenza è il file. Nel precedente articolo, si utilizza default.php, mentre qui default_children.php, ma il codice non varia di una virgola (o di un punto e virgola).

Attenzione: per tutta la lettura, "voce menu", è la voce del menu che vuoi realizzare, con la visualizzazione degli articoli di una categoria in modalità lista.
Ovvero Menu Principale -> Nuova voce -> Lista di singola categoria.


1. Di cosa stiamo parlando?

Non ti voglio annoiare, concettualmente è esattamente questa la situazione. La differenza è sostanzialmente una sola: questa volta "listare" gli articoli risponde all'esigenza di una rapida consultazione. Forse non è proprio adatta per tutte le situazioni, ma questa modalità di visualizzazione ha il suo perchè: feeds, elenco articoli per gli autori del portale, articoli-guida (strutturati come tali dall'autore) e che la fantasia mi porti via. 
Torna al menu


1.1 Si, ma io cosa vedo?

La modalità lista, permette di visualizzare il contenuto di una categoria in maniera rapida: un perfetto elenco di titoli, per velocizzare la ricerca.

Lista Articoli Joomla

Torna al menu


2. Lista


2.1 Elenco file Lista

I file che compongono la visualizzazione "Lista" sono default.php, default_articles.php e default_children.php.
Torna la menu


2.2 Suddivisione schematica dell'output Lista

Suddivisione output della categoria , visualizzata in modalità listaL'output è molto più intuitivo e pulito rispetto alla modalità Blog:

  • Intestazione
    Utilizzando il pannello della voce menu, hai la possibilità di indicare un titolo alla pagina, un sottotitolo e per ultima la descrizione della categoria (assegnata durante la creazione della categoria).
  • Filtro
    Con il campo filtro, possiamo effettuare degli /ricerche locali, rimanendo sulla stessa pagina, in base a tre criteri messi a disposizione:
    • Titolo
    • Autore
    • Visite
    Puoi scegliere uno solo di questi criteri, effettuando le impostazioni nella voce menu.
  • Lista
    Ognuno dei campi è ordinabile dal visitatore: perfetto per trovare articoli di una particolare data, o di un particolare autore. Per la data, è possibile scegliere tra
    • Data di Creazione
    • Data di Modifica
    • Data di Pubblicazione
  • Sottocategorie
    Anche questa sezione, risulta identica a quanto visto in modalità Blog: vi sono le categorie figlie di quella attuale, di esse possiamo visualizzare svariati parametri, tutti modificabili.

Sinceramente ti consiglio di giocare un pò con i parametri presenti nella voce menu, cosi da poter prendere una maggiore confidenza con le molteplici varianti. Sperimentare per imparare!
Torna la menu


2.3 Default.php

Primo file analizzato, primo file elaborato: su di esso poggiano gli altri due, quindi è molto importante!
Torna la menu


2.3.1 Le prime 14 righe

Verifichiamo la corretta apertura del file, invocando i metodi che ci permetteranno di visualizzare correttamente la pagina. Di fatto si tratta delle solite righe che ci permettono di utilizzare il framework di joomla.

<?php
 /**
 * @package Joomla.Site
 * @subpackage com_content
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
 // no direct access
defined('_JEXEC') or die;
 JHtml::addIncludePath(JPATH_COMPONENT.'/helpers');
 ?>
Torna la menu


2.3.2 Div e titolo intestazione

Il div contiene tutto ciò che seguirà: come joomla ci abitua, puoi inserire una classe specifica a questo tag e grazie a pageclass_sfx, hai la possibilità di personalizzare in maniera mirata. Segue un bell'if, per la visualizzazione condizionata del titolo della pagina, assegnato nella voce menu (di cui sopra).

<div class="category-list<?php echo $this->pageclass_sfx;?>">
<?php if ($this->params->get('show_page_heading')) : ?>
<h1>
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
Torna la menu


2.3.3 Sottotitolo

Il sottotitolo è composto da due elementi:

  • page_subheading
    contiene quanto scritto nel campo Opziomi visualizzazione pagina -> Intestazione pagina nella voce menu
  • category->title
    indica il nome della categoria in esame

Quindi a seconda dei parametri ed all'azione combinata dell'if, avremo la possibilità di visualizzare solo il nome della categoria, oppure lo stesso ma preceduto da quanto scritto nella voce menu. Altrimenti, nulla.

<?php if ($this->params->get('show_category_title', 1) or $this->params->get('page_subheading')) : ?>
<h2>
<?php echo $this->escape($this->params->get('page_subheading')); ?>
<?php if ($this->params->get('show_category_title')) : ?>
<span class="subheading-category"><?php echo $this->category->title;?>
<?php endif; ?>
</h2>
<?php endif; ?>
Torna la menu


2.3.4 Descrizione categoria

Esattamente come hai visto nella modalità Blog, puoi vedere come, a seconda dei parametri della voce menu, puoi mostrare l'immagine della categoria e la sua descrizione, scegliendo  le modalità di visualizzazione. Con il primo if verifico le modalità di visualizzazione scelte, mentre con gli altri due (uno per l'immagine ed uno per la descrizione della categoria), mostri nella pagina ciò che hai scelto. L'ultimo div, con classe clr, è prudente lasciarlo li com'è, cosi da avere una base rigida con cui delimitare meglio l'output.

<?php if ($this->params->get('show_description', 1) || $this->params->def('show_description_image', 1)) : ?>
<div class="category-desc">
<?php if ($this->params->get('show_description_image') && $this->category->getParams()->get('image')) : ?>
<img src="<?php echo $this->category->getParams()->get('image'); ?>"/>
<?php endif; ?>
<?php if ($this->params->get('show_description') && $this->category->description) : ?>
<?php echo JHtml::_('content.prepare', $this->category->description, '', 'com_content.category'); ?>
<?php endif; ?>
<div class="clr"></div>
</div>
<?php endif; ?>
Torna la menu


2.3.5 Articoli e Filtro

La visualizzazione dell'elenco, preceduta dai filtri, viene gestita totalmente dal file default_articles.php, attraverso questa semplice chiamata, in cui tutto quanto viene inserito all'interno del div cat-items.

<div class="cat-items">
<?php echo $this->loadTemplate('articles'); ?>
</div>
Torna la menu


2.3.6 Sottocategorie e chiusura div

Infine, visualizziamo le sottocategorie di quella attuale, a seconda dei parametri impostati nel backend della voce menu. Con l'if controlliamo che vi siano delle categorie figlie e se il livello massimo di profondità è diverso da 0 (quindi almeno 1 c'è). Visualizziamo, a seconda della lingua impostata, il messaggio "Sottocategorie"

<?php if (!empty($this->children[$this->category->id])&& $this->maxLevel != 0) : ?>
<div class="cat-children">
<h3>
<?php echo JTEXT::_('JGLOBAL_SUBCATEGORIES'); ?>
</h3>
<?php echo $this->loadTemplate('children'); ?>
</div>
<?php endif; ?>
</div>

Torna la menu


2.4 Default_articles.php

Grazie a questo file, gestiamo la visualizzazione del filtro e la tabella degli articoli.

Torna la menu


2.4.1 Le prime 21 righe

Oltre al controllo del corretto uso del file, ci sono alcune chiamate di funzione  ed alcune variabili di cui vediamo il contenuto:

  • params
    contiene i parametri per la visualizzazione, impostati nel backend.
  • n
    numero di articolli da visualizzare e non quelli in totale.
  • listOrder
    indica il criterio d'ordine scelto. Alla prima visualizzazione, dipende da cosa è stato impostato nel backend. Mentre, cliccando sulla prima riga delle colonne, questo valore cambia, assumendo il valore cliccato dall'utente.
      Titolo Data di Creazione Data di Modifica Data di Pubblicazione Autore Visite
    Valore di listOrder a.title  a.created a.modified  a.publish_up author a.hits
  • listDirn
    assume due valori, che completano l'ordinamento: asc per crescente e desc per decrescente.

<?php
/**
 * @package Joomla.Site
 * @subpackage com_content
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
// no direct access
defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.framework');
// Create some shortcuts.
$params = &$this->item->params;
$n = count($this->items);
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
?>
Torna la menu


2.4.2 Nessun Articolo da visualizzare

A seconda delle impostazioni del backend del menu voce, in caso di categoria vuota, potremo visualizzare un messaggio di sistema:

"Non ci sono articoli in questa categoria. Se si visualizzano le sottocategorie, dovrebbero contenere degli articoli."

Il primo if controlla se non ci sono articoli da visualizzare, mentre il secondo verifica quanto impostato dal backend. Attenzione: viene effettuato il controllo solo sugli articoli contenuti nella categoria e non nelle sue sottocategorie.

<?php if (empty($this->items)) : ?>
<?php if ($this->params->get('show_no_articles', 1)) : ?>
<p><?php echo JText::_('COM_CONTENT_NO_ARTICLES'); ?></p>
<?php endif; ?>
Ovviamente, questo messaggio compare anche in caso di ricerche senza risultati, effettuate per mezzo del filtro inserito dall'utente.
Torna la menu


2.4.3 Articoli da visualizzare e apertura form

In caso dovessimo avere degli articoli da visualizzare, per prima cosa nella proprietà action del form, c'è l'indirizzo della stessa pagina. Segue il primo if in cui verifichiamo alcuni parametri:

  • show_headings
    indica se si vuole visualizzare la prima riga della tabella, ovvero la sua intestazione
  • filter_field
    contiene l'informazione per quale campo di ricerca, si vuole attivare tra titolo/autore/visite
  • show_pagination_limit
    rappresenta il limite di articoli/righe da visualizzare

Domanda, è possibile che l'intero if risulti false? Ovvero, non si vuole mostrare la prima riga d'intestazione, non esista alcun campo di ricerca e nemmeno un limite alle pagine? Certo, in tal caso visualizzeremo solamente la lista di articoli.

<?php else : ?>
<form action="<?php echo htmlspecialchars(JFactory::getURI()->toString()); ?>" method="post" name="adminForm" id="adminForm">
<?php if ($this->params->get('show_headings') || $this->params->get('filter_field') != 'hide' || $this->params->get('show_pagination_limit')) :?>
Torna la menu


2.4.4 Filtro

A seconda di cosa abbiamo impostato nella voce menu, il campo del filtro potremo utilizzarlo per cercare gli articoli di un autore, per esempio. Piccola nota: FILTER_LABEL stamperà la tipologia di filtro che avete selezionato.

<fieldset class="filters">
<?php if ($this->params->get('filter_field') != 'hide') :?>
<legend class="hidelabeltxt">
<?php echo JText::_('JGLOBAL_FILTER_LABEL'); ?>
</legend>
<div class="filter-search">
<label class="filter-search-lbl" for="filter-search"><?php echo JText::_('COM_CONTENT_'.$this->params->get('filter_field').'_FILTER_LABEL').'&#160;'; ?></label>
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>" />
</div>
<?php endif; ?>
Torna la menu


2.4.5 Limite Articoli

Con questo campo ridimensioniamo gli articoli da visualizzare{gesh xml:lang="php"}params->get('show_pagination_limit')) : ?>


 
pagination->getLimitBox(); ?>

Torna la menu


2.4.6 Ordine visualizzazione tabella

Sebbene nascosti, questi fieldset permettono il riordino della tabella per essere visualizzata secondo l'ordine impostato dall'utente. Infatti, cliccando sulle intestazioni della tabella, cambiamo l'ordine di visualizzazione, grazie a questi tre semplici input

<input type="hidden" name="filter_order" value="" />
<input type="hidden" name="filter_order_Dir" value="" />
<input type="hidden" name="limitstart" value="" />
</fieldset>
<?php endif; ?>
Torna la menu


2.4.7 Inizio tabella ed inizio intestazione

Cominciamo a disegnare la tabella, partendo dall'intestazione ; ovviamente, non possiamo che iniziare con il titolo dell'articolo, reso disponibile dall'istruzione jHtml ed i suoi parametri:

  • JGLOBAL_TITLE
    è la label Titolo che appare nell'intestazione, tradotta a seconda della lingua
  • a.title
    indica il campo titolo articolo
  • listDirn
    ordine crescente o decrescente
  • listOrder
    indica il campo da ordinare, ovvero se si tratta del titolo, data ( e sue tipologie), autore e visite.

<table class="category">
<?php if ($this->params->get('show_headings')) :?>
<thead>
<tr>
<th class="list-title" id="tableOrdering">
<?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'a.title', $listDirn, $listOrder) ; ?>
</th>
Torna la menu


2.4.8 Intestazione data

Come hai già visto, esistono più tipologie di data: con il primo if verifichiamo se dobbiamo visualizzare la data, mentre con quelli a seguire determiniamo il tipo di data. Come prima, i parametri indicano quale label utilizzare, il parametro, l'ordine crescente/decrescente e quale campo ordinare.

<?php if ($date = $this->params->get('list_show_date')) : ?>
<th class="list-date" id="tableOrdering2">
<?php if ($date == "created") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php elseif ($date == "modified") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.modified', $listDirn, $listOrder); ?>
<?php elseif ($date == "published") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.publish_up', $listDirn, $listOrder); ?>
<?php endif; ?>
</th>
<?php endif; ?>
Torna la menu


2.4.9 Autore, visite e fine intestazione

Ci avviciniamo alla fine dell'intestazione con le ultime due colonne: l'autore e le visualizzazioni (hits). Ovviamente per entrambi vale quanto detto prima:: il primo if per entrambi controlla le impostazioni ( se devono essere visualizzati o meno), mentre i parametri sono sempre gli stessi (il loro significato, ovviamente).

<?php if ($this->params->get('list_show_author', 1)) : ?>
<th class="list-author" id="tableOrdering3">
<?php echo JHtml::_('grid.sort', 'JAUTHOR', 'author', $listDirn, $listOrder); ?>
</th>
<?php endif; ?>
<?php if ($this->params->get('list_show_hits', 1)) : ?>
<th class="list-hits" id="tableOrdering4">
<?php echo JHtml::_('grid.sort', 'JGLOBAL_HITS', 'a.hits', $listDirn, $listOrder); ?>
</th>
<?php endif; ?>
</tr>
</thead>
Torna la menu


2.4.10 Inizio pubblicazione lista, apertura riga

Finalmente cominciamo a preparare qualcosa per visualizzare la lista: innanzitutto un foreach per visualizzare tutti gli articoli uno alla volta, ma prima di visualizzare qualunque cosa, dobbiamo capire lo stato dell'articolo. Infatti con il primo if dobbiamo verificare se l'articolo è in stato di sospeso/non pubblicato. Se cosi fosse, comparirà con una tonalità diversa (blu di default). Attenzione: ovviamente questo prepara l'articolo, ma solo in un secondo momento verificheremo se l'utente può visualizzare l'articolo o no.

<tbody>
<?php foreach ($this->items as $i => $article) : ?>
<?php if ($this->items[$i]->state == 0) : ?>
<tr class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
<?php else: ?>
<tr class="cat-list-row<?php echo $i % 2; ?>" >
<?php endif; ?>
Torna la menu


2.4.11 Ordine visualizzazione tabella e visualizzazione Titolo

Come dicevo sopra, il primo if verifica il livello d'accesso dell'articolo: se non è consentita la visione, fallisce l'if viene rimandato all'esle (gestito più avanti). Nel caso di if convalidato, partiamo subito a visualizzare il titolo. Notare la presenza di un if con access-edit, valido per un utente con poteri di modifica sugli articoli (pubblisher, author, admin, per fare alcuni esempi).

<?php if (in_array($article->access, $this->user->getAuthorisedViewLevels())) : ?>
<td class="list-title">
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid)); ?>">
<?php echo $this->escape($article->title); ?></a>
<?php if ($article->params->get('access-edit')) : ?>
<ul class="actions">
<li class="edit-icon">
<?php echo JHtml::_('icon.edit', $article, $params); ?>
</li>
</ul>
<?php endif; ?>
</td>
Torna la menu


2.4.12 Visualizzazione Data 

Il formato data indicato da DATE_FORMAT_LC3 è :

  • d
    giorno in numero
  • F
    nome del mese
  • Y
    anno descritto con 4 cifre

Il DATE_FORMAT_LC3 serve per formattare la data, presentata in quest'altro formato: yyyy-mm-dd hh:mm:ss.

Per quanto riguarda la tipologia di data è già stata descritta: qui è il framework di Joomla a preoccuparsi di quale tipo di data vogliamo visualizzare; una cosa in meno di cui occuparci!

<?php if ($this->params->get('list_show_date')) : ?>
<td class="list-date">
<?php echo JHtml::_('date', $article->displayDate, $this->escape($this->params->get('date_format', JText::_('DATE_FORMAT_LC3')))); ?>
</td>
<?php endif; ?>
Torna la menu


2.4.13 Visualizzazione autore

Primo if, applica i parametri imposti nel backend: se vuoi visualizzare l'autore di ogni articolo, allora prosegui, altrimenti saltiamo direttamente all'endif finale. Di fatto lo stesso controllo che hai trovato nell'intestazione.

Giovanni Vacca, Profilo Google+Il secondo if controlla se hai reso il nome dell'autore linkabile oppure no (ovvero se hai creato un contatto associato all'utente, autore dell'attuale articolo). Per maggiori informazioni, controlla questa guida Gestione contatti e form alla voce Creare un contatto; guida a cura di Giovanni Vacca. Nel secondo caso, visualizzerai una frase tipo "Scritto da Pinco Pallino" senza alcun rimando ad alcuna pagina personale.

<?php if ($this->params->get('list_show_author', 1)) : ?>
<td class="list-author">
<?php if(!empty($article->author) || !empty($article->created_by_alias)) : ?>
<?php $author = $article->author ?>
<?php $author = ($article->created_by_alias ? $article->created_by_alias : $author);?>
<?php if (!empty($article->contactid ) && $this->params->get('link_author') == true):?>
<?php echo JHtml::_(
'link',
JRoute::_('index.php?option=com_contact&view=contact&id='.$article->contactid),
$author
); ?>
<?php else :?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
<?php endif; ?>
<?php endif; ?>
</td>
<?php endif; ?>
Torna la menu


2.4.14 Visualizzazioni o Hits

Mostriamo le hits (visualizzazioni) per ogni articolo, con questo semplice frammento. Il tutto condizionato dalla scelta effettuata nel backend.

<?php if ($this->params->get('list_show_hits', 1)) : ?>
<td class="list-hits">
<?php echo $article->hits; ?>
</td>
<?php endif; ?>
Torna la menu


2.4.15 Riga non accessibile a tutti

Questa opzione "entra in funzione" in un solo caso. Se in voce menu, hai autorizzato la visione dei Link non autorizzati (voce menu -> Opzioni visualizzazione -> Link non autorizzati -> si), il risultato sarà una pagina con tutti gli articoli: cosa cambia? Semplicemente, per gli articoli di cui disponi l'accesso non cambia nulla, mentre per gli altri vedrai il titolo dell'articolo non linkato, seguito da un invito per registrarsi e proseguire con la lettura.

Infine, tutti i vari endif/endforeach etc, permettono di chiudere tutto quanto abbiamo aperto sino ad ora, form escluso. Quindi chiudiamo il foreach per la visualizzazione degli articoli e la tabella

<?php else : // Show unauth links. ?>
<td>
<?php
echo $this->escape($article->title).' : ';
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = JRoute::_('index.php?option=com_users&view=login&Itemid='.$itemId);
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($article->slug));
$fullURL = new JURI($link);
$fullURL->setVar('return', base64_encode($returnURL));
?>
<a href="<?php echo $fullURL; ?>" class="register">
<?php echo JText::_( 'COM_CONTENT_REGISTER_TO_READ_MORE' ); ?></a>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
Torna la menu


2.4.16 Aggiungi articolo da frontend

Se disponi dell'autorizzazione necessaria, noterai sotto la tabella, un icona "foglio bianco": è il link per aggiungere nuovi articoli dal frontend.

<?php // Code to add a link to submit an article. ?>
<?php if ($this->category->getParams()->get('access-create')) : ?>
<?php echo JHtml::_('icon.create', $this->category, $this->category->params); ?>
<?php endif; ?>
Torna la menu


2.4.17 Condizione per la paginazione

Per superare l'if servono due condizioni:

  • Ci sono più articoli da mostrare, rispetto a quanti sono effettivamente visualizzati nella tabella.
    Ciò può essere dovuto a molteplici fattori/scelte, ma è una possibilità non tanto remota, se fai caso al combobox per la visualizzazione, collocato sopra la tabella.
  • Nella voce menu, devi attivare la paginazione (impostarla su Mostra/Auto/Globali. Quest'ultimo se e solo se è impostato su Mostra o Auto).

Se le due condizioni sono rispettate, allora il secondo if è rispettato, quindi si apre il div per la paginazione vera e propria.

<?php // Add pagination links ?>
<?php if (!empty($this->items)) : ?>
<?php if (($this->params->def('show_pagination', 2) == 1 || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') > 1)) : ?>
<div class="pagination">
Torna la menu


2.4.18 Paginazione

Con questo script sappiamo esattamente in quale pagina ci troviamo: infatti viene visualizzato Pagina x di y

<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>
Torna la menu


2.4.19 Visualizzazione link e chiusura finale

Con getPagesLinks, puoi visualizzare l'elenco delle pagine necessarie per mostrare tutti gli articoli della categoria. Mentre, tutti i tag che seguono, servono per chiudere il form e l'if iniziale.

<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<?php endif; ?>
</form>
<?php endif; ?>
Torna la menu

Fine seconda ed ultima parte

Ti chiedo scusa per aver spezzato in due questo argomento, ma dalla lunghezza di entrambi gli articoli, mi pare di non aver fatto una scelta errata. Nel frattempo, ti chiedo scusa ancora una volta per esser stato lento nella produzione e ti chiedo di partecipare sul topic accessibile qui sotto, per parlare di cosa non va e di cosa vorresti di più.

Ti ringrazio di cuore per la lettura e ci vediamo sul forum di Joomla! =)

Andrea Rossi MasterTheBest

CommentaCommenta questo articolo sul forum