Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Cataloger et UDT de téléchargement
#4
Quelle balise d'appel pour l'udt "downloadFiles" utilises-tu ?
Tu as copié mon udt telle quelle ? Sans modification des chemins ?

Il y a effectivement une erreur dans l'affichage du lien, j'ai oublié le suffixe ($params['name']."-DP.pdf):
Code :
...
echo "<p><a target='_blank' href=\"/uploads/catalogerfiles/Dossiers/".$params['name']."-DP.pdf\">Extraits de l'ouvrage (".human_filesize(filesize($filenameDP)).")</a></p>";
{* corriger les autres ancres *}
Explications de code :
Code :
{*
$params['name'] récupère le paramètre donné dans la balise d'appel de l'udt :
Ici $page_alias, le nom de l'alias de la page dans laquelle est appelée l'udt.
Ensuite on lui concatène le suffixe -DP.pdf
ex : $filenameDP = http: //site.fr/uploads/catalogerfiles/Dossiers/aliasdepage-DP.pdf
*}
$filenameDP = $config['root_path']."/uploads/catalogerfiles/Dossiers/".$params['name']."-DP.pdf";
...
{* s'il y a un fichier correspondant à $filenameDP, affiche-le dans une ancre *}
if (file_exists($filenameDP)) {
        echo "<p><a target='_blank' href=\"/uploads/catalogerfiles/Dossiers/".$params['name']."-DP.pdf\">Extraits de l'ouvrage (".human_filesize(filesize($filenameDP)).")</a></p>";
    }

Pour les suffixes DP, P et FT, ils correspondent à Dossier de présentation, Photos et Fiches techniques. A toi de les adapter suivant tes besoins, ex. : EO pour Extraits de l'ouvrage...
Ils sont là pour différencier les noms de fichiers afin que le rédacteur soit certain de les avoir mis dans le bon dossier.
Si tu n'as que des fichiers "extraits de l'ouvrage", tu n'as pas besoin de tout recopier (de même, l'utilisation d'un suffixe est superflu, il ne sert qu'à être certain que les fichiers sont dans le bon dossier et pour qu'ils aient un nom différent sont) :
Code :
if (!function_exists(human_filesize)) {
  function human_filesize($bytes, $decimals = 0) {
    $sz = 'BKMGTP';
    $factor = floor((strlen($bytes) - 1) / 3);
    return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
  }
}
$config = cmsms()->getConfig();
$filename = $config['root_path']."/uploads/catalogerfiles/extraitsOuvrage/".$params['name'].".pdf";
if (file_exists($filename) {
    echo "<h3>Téléchargements</h3>";
    echo "<p><a target='_blank' href='".$filename."'>Extraits de l'ouvrage (".human_filesize(filesize($filename)).")</a></p>";
}

Ensuite, tu vas avoir un problème : tu veux afficher 3 fichiers alors que le code n'en prévoit qu'un par "suffixe". Il faut soit modifier le code, soit que tu regroupes tes pdf en un seul fichier ou que tu les zippes.
Tu dois me dire si tu vas mettre d'autres fichiers en téléchargement (photos...) pour que je puisse modifier le code en fonction.
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)