Personalizzare joomla: inserire logo , descrizione e indirizzo del sito nelle viste in formato PDF degli articoli

 Stampa 

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 
Tweet Segui @Dillofacile

{linkr:related;keywords:joomla;limit:5;title:Articoli Correlati:} 

In joomla, come saprete, su ogni articolo esiste la possibilità di visualizzare (e quindi di download) dell' articolo medesimo in formato PDF. Per intenderci meglio, si tratta dell' icona che, se opportunamente abilitata lato amministrativo del sito, compare su ogni articolo e che se premuta, esegue una trasformazione dell' articolo in formato PDF.

 
Quello che però si nota nel formato PDF che ne deriva è la mancanza per esempio di alcuni dati importanti come per esempio l' indirizzo del sito da cui è stato prelevato l' articolo o anche il nome del sito stesso se non il logo. Ebbene proseguendo nella lettura di questo articolo, vi mostrerò come sono riuscito ad inserire queste informazioni nell' header del file PDF generato da joomla ed anche come poter ulteriormente personalizzare la visualizzazione PDF dell' articolo.


Per intervenire sulla visualizzazione in PDF dell' articolo in un sito sviluppato in joomla, occorre modificare il file php che gestisce la visualizzazione dell' articolo in formato PDF che potrete trovare , partendo dalla root del sito, in libraries/joomla/document/pdf. Il file all' interno della cartella pdf è il pdf.php. Ovviamente, e bene fare una copia di tale file prima di modificarlo.
 
Il punto ove intervenire sul file si trova verso la fine , nella sezione commentata Set PDF Header

// Set PDF Header data

$pdf->setHeaderData('',0,$this->getTitle(), $this->getHeader());

Nella riga originale sopra riportata, viene stabilito cosa verrà scritto nell' header del PDF. Di seguito si nota che la riga php sopra riportata, visualizzera' nell' header del file il titolo dell' articolo, l' autore e le date di creazione e modifica dell' articolo.

Con piccole aggiunte e modificando la riga php sopra riportata, ecco cosa possiamo ottenere:

// Set PDF Header data
$config =& JFactory::getConfig();
$sitename = $config->getValue( 'config.sitename' );

$pdf->setHeaderData('/Einstein03.gif',15,$this->getTitle(),$this->getHeader().'- http://www.dillofacile.netsons.org/ - '.$sitename);

Come noterete, l' header del PDF risulta essere ora più completo, riportando oltre al titolo, l' autore e le date, anche il logo , l' indirizzo http e il titolo del sito. Analizzando le modifiche ed aggiunte notiamo:

$config =& JFactory::getConfig() , che serve per creare una istanza del file configuration.php del sito joomla, file presente nella root principale del sito da cui reperire il nome del sito. Tale istanza verrà assegna alla variabile $config.

$sitename = $config->getValue( 'config.sitename' ) utilizzando $config saremo quindi in grado di reperire la descrizione del sito joomla ed assegnarla alla variabile $sitename. Il nome del sito è quelo che stabiliamo dal lato amministrativo di joomla (menù sito->configurazione->sito).

$pdf->setHeaderData('/Einstein03.gif',15,$this->getTitle(),$this->getHeader().' - http://www.dillofacile.netsons.org/ - '. $sitename); Infine questa è la riga di assegnazione dell' header del file PDF generato, opportunamente modificata. Si nota:

Primo parametro: aggiunta di un riferimento al file immagine '/Einstein03.gif' , da utilizzare come logo. Tale file, dovrà essere collocato , partendo sempre dalla root del sito, in libraries/tcpdf/images/.

Secondo parametro: 15, corrispondente alla grandezza in millimetri che si vuole impostare per il logo.

Terzo parametro: invariato rispetto alla configurazione originale, $this->getTitle(), che visualizzerà il titolo dell' articolo.

Quarto parametro: $this->getHeader() . ' - http://www.dillofacile.netsons.org/ - ' . $sitename, modificato rispetto all' originale con l' aggiunta dell' indirizzio http del sito (stringa ' - http://www.dillofacile.netsons.org/ - ') e del nome/descrizione del sito (variabile $sitename).

Provate !

Inolre, e possibile intervenire un pò su tutta la configurazione dell' outpt in formato PDF degli articoli JOOMLA . Per maggiori dettagli potete visitare il sito ufficiale del componente.

Segnalo anche Phoca PDF, ottimo plugin free.

{linkr:related;keywords:joomla;limit:5;title:Related Articles}

{jcomments on}

 

Pensi che questo articolo possa essere d' aiuto anche ad altri? Allora condividilo subito nel tuo social preferito.

Tweet Segui @Dillofacile

Lascia i tuoi commenti

Login per inviare un commento
Registrati Password dimenticata

Posta commento come visitatore

    0
    termini e condizioni.

    Persone in questa conversazione

    • Alexdi

    Commenti (4)

    • Vecchi commenti Prima
    • Nuovi commenti Prima
    • Sottoscrivi tramite Email
    • Ospite - marco

      Permalink

      Salve, sarebbe possibile implementare la funzione pdf di joomla per scaricare gli annunci del componente Adsmanager ?

      10 anni fa http://maps.google.com/maps?z=15&q=,
      0 Mi piace Condividi URL breve: Facebook Twitter Google Plus
    • Alexdi

      Permalink

      Marco, mi dispiace deluderti ma sinceramente non saprei cosa andare a modificare. Non so se esistono plugin o aggiunte per ADSMANAGER che permettano di ottenere quello che ti serve e non penso comunque che sia impossibile da attuare ma, sicuramente c'è da studiarci. Non conosco Adsmanager e quindi dovrei installarlo e fare prove per vedere se si riesce ma , purtroppo , ho pochissimo tempo a disposizione. Se conosci un pò di linguaggio PHP e database MYsql (basta anche una conoscenza di base, esattamente come nel mio caso) potresti provare da solo. Se hai il sito in locale sul pc (su quello online meglio non "giocarci"), ti posso consigliare di utilizzare Netbeans e XDEBUG. Puoi fare un' analisi del sito passo-passo ed evetualmente individuare le routine e funzioni da modificare. Io utilizzai Netbeans+XDEBUG in linux-ubuntu per riuscire ad ottenere quello che ho descritto in questo articolo ma ora, purtroppo, sono dovuto tornare a windows e ho problemi con XDEBUG. Se ti interessa NETBEANS e XDEBUG c'è un articolo introduttivo in questo sito che ne parla. Sono software completamente gratuiti e molto interessati.<br />Spero quindi tu possa risolvere il tuo problema o che ci sia qualche visitatore di questo articolo che possa darti una risposta più precisa della mia.<br />Ciao.

      10 anni fa http://maps.google.com/maps?z=15&q=,
      0 Mi piace Condividi URL breve: Facebook Twitter Google Plus
    • Ospite - Nicl

      Permalink

      Ottima guida, complimenti.<br /><br />Mi chiedevo come aggiungere nella parte bassa, a destra, vicino il n. di pagine una scritta oppure far uscire l'indirizzo del sito.<br /><br />Grazie.

      9 anni fa http://maps.google.com/maps?z=15&q=,
      0 Mi piace Condividi URL breve: Facebook Twitter Google Plus
    • Alexdi

      In risposta a: Ospite - Nicl
      Permalink

      Ciao Nicl.<br /><br />Bella domanda! Ho dato una spulciata alle classi e funzioni di TCPDF, che puoi trovare al link [url]http://www.tcpdf.org/doc/classTCPDF.html[/url] ma, dopo una veloce consultazione, non sono riuscito a trovare una funzione o metodo della classe che possa andar bene per fare quello che vorresti.<br /><br />Ad ogni modo, credo sia possibile. Secondo me, bisogna agire sul "Footer" della pagina. Nel file "pdf.php" vengono utilizzate solo una minima parte delle varie funzionalità di TCPDF e, quando scrissi questo articolo, mi limitai ad effettuare solo una piccola modifica ad una delle funzioni di TCPDF già presenti in "pdf.php".<br /><br />Però, come puoi vedere dal link che ti ho segnalato, ci sono tantissime altre funzioni che si possono utilizzare e che sarebbero da aggiungere in "pdf.php".<br /><br />Come ti dicevo, leggendo velocemente, mi sembra di aver capito che, per intervenire sul "footer" e quindi modificare la parte che interessa a te, occorre intervenire con un overwrite della TCPDF::Footer(). Nel "pdf.php" la TCPDF equivalle alla $this->_engine.<br /><br />Insomma, non è una cosa semplicissima che si riesce in 5 minuti. Occorre studiarsi bene la TCPDF. Se ho un pò di tempo i prossimi giorni ci guardo con più calma nel frattempo provaci anche tu.<br />Ciao.

      9 anni fa http://maps.google.com/maps?z=15&q=,
      0 Mi piace Condividi URL breve: Facebook Twitter Google Plus

    Evidenza

    Preferiti

    Powered by Komento