Enhanced Files – Boutons
-
-
NicolasParticipant# 2 years, 11 months ago
Bonjour,
Je cherche à insérer 2 boutons (2 liens) pour chaque pièce jointe :
- Le 1er suggère au navigateur de télécharger le doc (pdf, jpg,…)
- Le 2nd suggère au navigateur de l’afficher (inline)
Je sais qu’il y a une variable globale dans la configuration qui permet d’indiquer le comportement par défaut suggéré au navigateur.
Je ne l’utilise pas car je souhaite suggérer l’un ou l’autre en fonction du bouton.
J’ai tenté d’utiliser :
cuar_the_attached_file_link($post->ID, $file, 'download', true); // Quelle est la différence entre le paramètre $action avec la variable "download" et le paramètre $force_download ?
cuar_the_attached_file_link($post->ID, $file, 'view', false);
J’appelle ces deux fonctions dans 2 boutons différents.
Au clic, l’url finale générée est bien /download/idDuDoc ou / view/idDuDoc mais le comportement d’affichage reste celui de la variable globale (par défaut ou ceux indiqués) dans les settings.
Est-ce possible de faire ce que je souhaite ? Pouvez-vous m’aiguiller ?
-
ThomasKeymaster# 2 years, 11 months ago
Bonjour,
Je comprends votre demande, seulement, en tant que designer, je tiens à vous prévenir que ceci ne sera pas un bon choix en terme d’UX.
Vous devez savoir que l’option de téléchargement inline ne peut être fiable dans tous les cas. En fonction du navigateur que votre visiteur utilise, il n’aura pas forcément accès à un lecteur PDF embarqué au navigateur, un lecteur vidéo, un lecteur mp3, et j’en passe.
Il vous faudra donc, pour votre bouton “inline”, tester d’abord le format du fichier, et ensuite vérifier que le navigateur de l’utilisateur embarque bien un lecteur qui permet de visualiser le fichier au lieu de le télécharger : c’est loin d’être évident avec tous les navigateurs.
C’est pour cela que l’extension Enhanced Files possède un champ où l’on peut spécifier les formats à ouvrir ou télécharger directement. Dans ce cas la fonction tente d’ouvrir le fichier dans un nouvel onglet avec un lecteur embarqué, si le navigateur ne dispose pas de cette fonction, il téléchargera le fichier à la place, ce qui vous évite de vous retrouver avec un bouton qui ne fonctionne pas, ou bien qui fait la même chose que son voisin.
Quelle est la différence entre le paramètre $action avec la variable “download” et le paramètre $force_download ?
Le paramètre action permettra de construire l’url pour obtenir soit /download/idDuDoc, soit /view/idDuDoc. Le paramètre $force_download bypass le paramètre $action (donc l’action n’est pas récupérée depuis les settings WPCA, et le téléchargement est forcé à la place).
// src/php/core-addons/private-file/private-file-addon.class.php ligne 1131 // Default action to apply on file $action = 'download'; if (!isset($_GET['force-download']) || (isset($_GET['force-download']) && $_GET['force-download'] !== 1)) { $action = apply_filters('cuar/private-content/files/default-action', $action, $found_file); }
Si l’url est du type download, le fichier sera téléchargé directement. Si l’url est du type view, alors il sera suggéré au navigateur de l’ouvrir. S’il n’en est pas capable (n’embarque pas de lecteur PDF par exemple), alors il le téléchargera à la place.
——
Ce que j’aurai tendance à faire à votre place:
- vous éditez les templates et vous ajoutez une checkbox à côté du bouton, comme ceci : [ ] Force download
- vous créez un mini script JS qui fait que si la case est cochée, alors sera ajouté à l’url du bouton : ?force-download=1, ce qui donnera /view/idDuDoc?force-download=1
Dans ce cas, vous avez donc un bouton qui par défaut va tenter d’ouvrir le fichier dans le navigateur (si le navigateur le permet), et si vous cochez la case, le navigateur téléchargera dans tous les cas, sans tenter de l’ouvrir.
Cdlt.
Want to help WP Customer Area? It only takes few seconds!
Rate & review the plugin on WordPress.org 🙂
-
The topic ‘Enhanced Files – Boutons’ is closed to new replies.