profilo facebook Nel precedente articolo abbiamo visto come espandere il profilo utente di Joomla, oggi vediamo come fargli apparire dentro un articolo. Utilizzeremo la tecnica del ovveride del template.

Come effettuare l’ovveride del template

Per visualizzare questi dati dobbiamo modificare il codice che ci consente la visualizzazione del singolo articolo in Joomla, avendo tutto il codice del CMS è semplicissimo, ma al primo aggiornamento rischiamo di perderci la modifica.

Per evitare questo, il team di sviluppo di Joomla ha strutturato il codice per poter intervenire sulla visualizzazione di moduli e componenti, senza rischiare però di perdere le nostre modifiche al primo aggiornamento.

Copiamo il file default.php presente in components/com_content/views/article/tmpl/ della nostra istallazione di Joomla, e incolliamolo in templates/NOMETEMPLATE/html/com_content/article/. Sicuramente è necessario creare le sotto cartelle com_content/article/ .

L’inserimento della descrizione nell’articolo

Editiamo il file appena copiato, con un editor di testo, cerchiamo la riga che contiene il seguente codice <?php echo $this->item->text; ?> (dovrebbe essere contenuto nella riga 177), creiamo sotto una nuova riga e copiamoci il seguente codice.

<p>

<?php

  $cparams = JComponentHelper::getParams ('com_media');

 

  jimport('mosets.profilepicture.profilepicture');

  $profilepicture = new ProfilePicture($this->item->created_by);

 

  // Carico i dettagli del profilo dell'autore

  $db = JFactory::getDbo();

  $db->setQuery(

      'SELECT profile_key, profile_value FROM #__user_profiles' .

      ' WHERE user_id = '.$this->item->created_by." AND profile_key LIKE 'profile.%'" .

      ' ORDER BY ordering'

  );

  $results = $db->loadRowList();

  $user_profile = array();

 

  foreach ($results as $v)

  {

      $k = str_replace('profile.', '', $v[0]);

      $user_profile[$k] = json_decode($v[1], true);

      if ($user_profile[$k] === null)

      {

          $user_profile[$k] = $v[1];

      }

  }

  if (substr ($user_profile['website'], 0, 4) == "http"){

      $url = '<a href="'.$user_profile['website'].'">Sito Web</a>';

  }else{

      $url = '<a href="http://'.$user_profile['website'].'">Sito Web</a>';

  }

  //Stanpo l'immagine del profilo

  if ($profilepicture->exists()){

      echo '<img src="'.$profilepicture->getURL(50).'" alt="'.$this->item->author.'" width="50" height"50" align="left" />';

  }

  //visualizzo il profilo utente, il sito web e il bio dell'autore

  echo 'Profilo Autore:' .$this->item->author .' - ' . $url .'<br>';

  echo $user_profile['aboutme'];

?>

</p>


Visualizzando un articolo dal front end di Joomla, se abbiamo eseguito correttamente i passaggi precedenti, dovremmo vedere il mini profilo dell’autore. Andando a modificare il codice e lavorando con il CSS del proprio template è possibile renderlo graficamente ancora più gradevole.

Oltre alle informazioni che ho utilizzato nel mio codice di esempio, è possibile recuperarne altre, di seguito l’elenco completo dei campi messi a disposizione dal plugin User - Profile.

$user_profile['address1']

$user_profile['address2']

$user_profile['city']

$user_profile['region']

$user_profile['country']

$user_profile['postal_code']

$user_profile['phone']

$user_profile['website']

$user_profile['favoritebook']

$user_profile['aboutme']

$user_profile['dob']


Se vuoi scoprire qualche nuovo trucco per personalizzare il tuo sito realizzato con Joomla resta aggiornato iscrivendoti ai feed RSS o tweeter o alla fan page.

Se hai un dubbio su come aggiungere le informazioni aggiuntive sull’autore non esitare a chiedere, lasciando un commento.

1 1 1 1 1 1 1 1 1 1 Punteggio 4.50 (1 Voto)
La Fabbrica del Web La Fabbrica del Web
Commenti  
#1 Giuseppe 2013-01-03 03:38
Ciao Luca ho seguito la tua guida ma mi sono accorto che già nel momento di inserire una foto mi esce il seguente errore
Save failed with the following error: PLG_USER_PROFIL EPICTURE_ERROR_ TOO_SMALL
ho provato varie misure di foto ma esce sempre questo messaggio.
Mi potresti aiutare? grazie aspetto una tua risposta positiva
#2 Luca Boldori 2013-01-03 14:47
Ti ho risposto via mail
#3 Giuseppe 2013-01-03 17:28
Grazie di tutto ora funziona benissimo, ho dovuto inserire un'immagine superiore alla grandezza di 640x400, facendo così non mi da nessun errore e compare l'immagine in ogni articolo.

ciao alla prossima....
#4 federico 2013-07-04 16:24
Buonasera, vorrei avere la possibilità di aggiungere più di un autore ad un articolo in Joomla, perché più che un autore ed un alias non posso. Esiste il modo o un plugin? Grazie, Federico
#5 Luca Boldori 2013-07-08 08:18
Ciao Federico, ho provato a mia volta a cercare su internet, ma non mi risulta che si possa avere più di un autore per un articolo.