Modification du code de la template presentation
1°) dupliquez la template presentation et appelez la presentation-pdf
2°)coller dans le fichier /components/com_flexicontent/templates/presentation-pdf/item.php
le contenu du code du fichier /components/com_flexicontent/tmpl_common/item_layouts/modular.php
3°)Voilà on peut maintenant commencer à éditer le fichier /components/com_flexicontent/templates/presentation-pdf/item.php
je vais faire apparaître mon lien vers mon fichier PDF sous le titre de ma fiche, donc après le code suivant (environ ligne 172)
Code:
<!-- EOF item title -->
<?php endif; ?>
voici le code à ajouter avec les commentaires php pour explications
Code:
<?php
//activer le champs field_resume pour pouvoir l'afficher de manière personalisée
$myfield_html = FlexicontentFields::getFieldDisplay($item, 'field_resume');
?>
<?php
// Include the main TCPDF library (search for installation path).
require_once JPATH_LIBRARIES . '/tcpdf/tcpdf.php';
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// remove default header
$pdf->setPrintHeader(false);
// set footer fonts
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set font
$pdf->SetFont('dejavusans', '', 10);
// add a page
$pdf->AddPage();
// create some HTML content
$html = '<h1>HTML Example</h1>
<div>autre code html </div>
<div style="text-align:center">blabla<br />
blabla
</div>' . $item->fields['field_resume']->display;
//ci-dessus j'appelle l'affichage de mon champs perso field_resume
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
// reset pointer to the last page
$pdf->lastPage();
//Close and output PDF document, j'enregistre le Pdf dans le répertoire /images/
$pdf->Output($_SERVER['DOCUMENT_ROOT'] . 'SOUS_REPERTOIRE/images/' . $this->item->alias . '.pdf', 'F');
//attention à bien préciser le chemin, personnalisez 'SOUS_REPERTOIRE/images/'
//si votre site est installé dans un sous-répertoire de votre dossier racine ça donnera donc 'SOUS_REPERTOIRE/images/'
//mon chemin complet était par exemple /var/www/default/SOUS_REPERTOIRE/images
// Voila on va maintenant générer un lien vers le fichier pdf crée , le nom du fichier sera l'alias de la fiche
echo '<a target="_BLANK" href="images/' . $this->item->alias . '.pdf"><strong>Imprimez le PDF</strong></a>';
?>