WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Téléchargement de fichiers spécifiques par clients
Étiqueté : indian double petarn
- Ce sujet est vide.
-
AuteurMessages
-
16 novembre 2017 à 20 h 06 min #43647
Bonjour @ tous,
Voilà, je souhaiterais proposer des fichiers personnels à télécharger pour chaque client lorsqu’une commande a été effectuée. Car en effet, une fois le client a passé sa commande, je souhaiterais une fois sa commande validée et terminée, afficher un lien de téléchargement vers un fichier ZIP personnel réservé au client. L’idéal serait aussi des les afficher dans la partie « Téléchargement » du compte client…
J’ai donc besoin de vos lumières et également si vous connaissez un plugin qui pourrait gérer cela?
Je suis tout ouïe!
Je remercie par avance pour votre aide généreuse!
Cordialement,
Nicolas S.
16 novembre 2017 à 23 h 38 min #43663Une solution pour rajouter un produit en téléchargement, serait de créer un produit privé pour chaque client.
Dans ce produit que vous configurez en téléchargeable, vous rajoutez le fichier personnalisé. Ensuite sur la page d’administration d’une commande validée, vous rajoutez ce produit tout en bas de la page et cela fera apparaitre le fichier en téléchargement dans l’espace client.Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.17 novembre 2017 à 2 h 45 min #43666Grand merci Mathieu!
Mais existe-t-il pas une alternative à cela, afin d’éviter de « blinder » de produits virtuels téléchargeables privés ? en plus des produits achetables car ça risque d’être l’enfer à la longue…
Y a-t-il pas la possibilité de lier cela à un autre module comme « Download Monitor » (par exemple), où je pourrais gérer tous les uploads à télécharger pour chaque clients ?Merci en tout cas de l’idée…
Cordialement,
Nicolas S.
18 novembre 2017 à 2 h 50 min #44573Bonsoir,
Je reviens, car j’ai testé l’idée de Mathieu, sur le fond c’est bien, mais le problème et c’est ce que je craignais, je dois bien créer un produit virtuel téléchargeable pour chaque client qui me commande une prestation.
Car le client commande une prestation, puis après commande, je dois fournir un ZIP je dois incorporer dans un nouveau produit comme « virtuel » et « téléchargeable », puis le lier dans la commande du client et basculer la commande en mode « Terminée »… pas pratique et simple, car du coup, une page produit vide existe qui mène à rien…
D’où ma question précédente, si il n’existe pas une astuce permettant de faire quasi la même chose mais depuis un centre de téléchargement comme le plugin « Download Monitor » où je centraliserai tous mes fichiers ZIP et les proposeraient dans la rubrique « Téléchargements » du compte client…
Merci pour votre aide si précieuse !
Nicolas.
18 novembre 2017 à 11 h 50 min #44578Bonjour
Dans tout les cas il vous faudra mettre en place un téléchargement personnalisé par client, donc même avec un plugin dédié il faudra créer le téléchargement.
Autant mettre vos Zip dans les médias en envoyer le lien personnalisé au lien via Email ou via la messagerie de commande WooCommerce
Sinon des plugin comme ceu ci peuvent être configurer en ce sens :
18 novembre 2017 à 14 h 06 min #44587Bonjour,
Merci Fred, pour votre réponse.
Mais, comment pourrais-je lister les téléchargements dédiés disponibles au client dans la partie « Téléchargements » de son compte WooCommerce ? telle est la question, car j’aimerais juste lui envoyer un mail que son téléchargement du ZIP est disponible dans son espace…
Cordialement,
Nicolas
18 novembre 2017 à 20 h 51 min #4459918 novembre 2017 à 21 h 19 min #44605Bonsoir, oui mais ça risque de faire doublon d’avoir des identifiants pour le téléchargement et des identifiants pour la boutique… donc effectivement lourd en théorie… Si seulement il y aurait une astuce pour lier une commande à un téléchargement comme Download Monitor et donc les faire apparaître dans la page » Téléchargements »
En vous remerciant infiniment pour votre aide
Cordialement,
Nico.
25 novembre 2017 à 2 h 15 min #46346Bonjour,
En attendant une réponse ou une solution…
Si je crée un article dédié téléchargeable pour chacun de mes clients, y a-t-il un moyen (via un snippet, peut-être) de désactiver le lien qui amène au produit, lors qu’on est dans la partie « Téléchargements », car ce lien est inutile, seul le bouton « Télécharger » l’est.
En vous remerciant,
Cordialement,
Nico.25 novembre 2017 à 11 h 20 min #46347Vous pouvez personnaliser cela dans le fichier « woocommerce/order/order-downloads.php » dans votre thème.
Si ce fichier n’existe pas, vous pouvez le créer à partir du fichier qui se trouve dans le répertoire de l’extension : « wp-content/plugins/woocommerce/templates/order/order-downloads.php »Il est aussi possible de modifier cet affichage avec plusieurs filtres mais cela dépend des autres produits. Est ce que vous avez certains produits qui auront des fichiers téléchargeables classiques et donc le lien vers leur fiche produit devra rester ?
Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.25 novembre 2017 à 17 h 54 min #46355Bonjour,
Merci Mathieu, effectivement c’est ce que j’ai pensé…
J’ai fait simplement fais une copie du fichier template dans mon thème, et je l’ai personnalisé avec un bout de code que j’avais fait en PHP, maintenant je peux afficher un bouton « Télécharger » associé depuis l’extension gratuite « Download Monitor » et un champ perso pour stocker l’id du download pour chaque commande….Merci,
Cordialement,
Nicolas S.
25 novembre 2017 à 18 h 40 min #46356Le gros bémol, c’est que le lien de téléchargement dispo pour le client X, est valable également pour les clients « Y, Z … » si il connait l’ID… ou le fait au hasard… du moment qu’il est connecté sur son compte ; ce qui n’est absolument pas bon!
Y a-t-il un moyen de limiter et sécuriser ça ?
Merci,
Nico.
25 novembre 2017 à 20 h 42 min #46358C’est bizarre, sur mon site de test le lien est du genre « ?download_file=1574&order=wc_order_ABC&email=ADRESSE_EMAIL&key=c194… ».
Et si le clé et le code de commande ne correspond pas à l’identifiant du fichier, il y a un message « Lien de téléchargement invalide ».Est ce que vos liens de téléchargement sont du même genre ?
Avez-vous bien les dernières versions de WordPress et WooCommerce ?Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.25 novembre 2017 à 23 h 50 min #4636926 novembre 2017 à 23 h 19 min #46394ah désolé je n’avais pas vu le 1er message où vous parliez de Download Monitor.
Je viens de tester WP Download Manager et après avoir installé l’extension, j’ai crée un nouveau téléchargement et j’ai passé 5 minutes à chercher le lien de téléchargement. Et je ne l’ai pas trouvé donc bonsoir l’extension.
Et bonjour Download Monitor qui est beaucoup plus clair et qui est personnalisable facilement. J’ai testé un code qui rajoute une clé de vérification au téléchargement et ça devrait être ce dont vous avez besoin :add_action("save_post_dlm_download", function ($post_ID, \WP_Post $post, $update) { // enregistre une clé à la création if (!$update) { $cle = hash("sha256", microtime() . mt_rand()); update_post_meta($post_ID, "cle", $cle); } }, 10, 3); add_filter("dlm_download_get_the_download_link", function ($link, $downloadManager, $version_id) { // ajouter la clé au lien de téléchargement $cle = get_post_meta($downloadManager->id, "cle", TRUE); $link = add_query_arg([ "cle" => $cle, ], $link); return $link; }, 10, 3); add_filter("dlm_can_download", function ($can_download, $downloadManager) { // vérification de la clé if ($can_download) { if (!isset($_GET["cle"])) { $can_download = FALSE; } else { $cle = get_post_meta($downloadManager->id, "cle", TRUE); if ($cle !== $_GET["cle"]) { $can_download = FALSE; } } } return $can_download; }, 10, 2);
Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.27 novembre 2017 à 2 h 44 min #46406Bonsoir Mathieu, et grand merci !!!
Je présume qu’il faut que je copie et colle ton code dans le fichier functions.php de mon thème ?
En ce qui concerne de récupérer l’ID de téléchargement, j’ai donc créé un Custom Field nommé custom_file avec ACF plugin, dans mes commandes, de façon à juste indiquer dedans l’ID de téléchargement à associer à la commande…
De façon à ce que le client voit lister dans la page « Téléchargement » tous les boutons avec comme lien, un lien de téléchargement sécurisé vers le fichier ZIP en question dont il a seulement l’autorisation et pas d’autres membres !!!J’ai personnalisé la page downloads.php des templates dans mon thème également
Voici la partie du code que j’ai actuellement, je n’ai pas réussi à mettre l’ID stocké dans ma Custom Field (custom_file) sur la commande de téléchargement, je n’arrive pas à trouver l’API correct pour ça, je suis sûr que je touche le but …
<?php elseif ( 'order-actions' === $column_id ) : ?> <?php $actions = wc_get_account_orders_actions( $order ); if ( ! empty( $actions ) ) { if ( $file_id = (int) get_post_meta( $order->id, 'custom_file', true ) ) { echo "download_link($file_id)."" class="button ' . sanitize_html_class( $key ) . '">Télécharger"; } } ?><?php endif; ?>
Encore un grand merci pour ton aide !
Cdt,
Nico.
27 novembre 2017 à 3 h 43 min #46407Re,
Bon, avec un peu de temps, j’ai pu finalement afficher la clé dans l’URL mais …
L’utilisateur peut refiler le lien exact à un autre membre, il peut malheureusement accéder au téléchargement, chose que je ne voudrais pas… ou j’ai oublié de faire quelque chose ???Revoici mon code :
<?php elseif ( 'order-actions' === $column_id ) : ?> <?php $actions = wc_get_account_orders_actions( $order ); if ( $order->has_status( 'completed' ) ) { if ( $file_id = (int) get_post_meta( $order->id, 'custom_file', true ) ) { /*echo '';*/ $content .= do_shortcode( '[download id="' . $file_id . '"]' ); echo $content; } } else { echo ''; } ?> <?php endif;?>
Peut-être que c’est mon « do_shortcode » le fautif ? peut-être intégrer le check de l’email du membre associé à la commande ? je ne sais pas….
Merci,
Cdt,
Nico.
27 novembre 2017 à 10 h 19 min #46411Quand la personne télécharge le fichier, elle peux ensuite l’envoyer à n’importe qui donc je ne pense pas que cela apporte quelque chose de tester l’utilisateur qui télécharge.
Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.27 novembre 2017 à 12 h 12 min #4641927 novembre 2017 à 13 h 29 min #46421 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.