Avant Propos : Upload de fichiers à partir du panier de virtuemart 2
Pour les besoin d'un site avec objets personnalisés, j'ai acheté Netbase VM Order Upload plugin
dispo ici : http://www.cms-extensions.net/netbas...ad-plugin.html
Super sur la démo, mais malheureusement, j'ai eu des problèmes ...rien ne fonctionne ...j'ai contacté l'auteur qui doit jeter un coup d'oeil. (sympa)... je remonterai l'info...
En attendant, j'ai cherché une autre solution, plus simple et si possible sans jquery.
Trouvé ! Easy File Uploader ...bon y'a un peu de bidouille, mais voici un truc gratos qui fonctionne du 1er coup !
Avantage, le script permet la création auto de sous-dossier au nom de l'utilisateur.
de 1 à 10 fichiers en une fois !
facilement intégrable au panier de VM2 (c'est un module !)
j'ai traduit, donc ça cause french ! (en pièce jointe)
Un truc à ne pas oublier de faire c'est important !!! :
le script qui fait la création automatique d'un sous-dossier au nom de l’utilisateur ne fait pas de fichiers index.html
Solution en bas de post avec un .htaccess
on y vas !
téléchargez :
installez le puis rendez-vous dans la gestion des modules :
ouvrez Easy File Uploader
configurez le comme vous voulez (moi j'ai indiqué de n'afficher le module pour les inscrits pour éviter les couillons) et choisissez une position
moi, j'ai choisis de créér "up-image-denis" (...ça revient dans le code ci-dessous).
Deux méthodes à laquelle j'ai pensé :
1- upload dans le panier (comme avec Netbase VM Order Upload plugin).
2- directement dans la fiche produit. (le client upload les fichiers et il commande l'article)...faut qu'il soit inscrit !
Ajoutons maintenant le module pour ceux qui choisissent dans le panier !
dans : /components/com_virtuemart/views/cart/tmpl/default.php
avant
ajouter :
si vous voulez dans la fiche produit ...je trouve ça mieux !
J'ai fait un filtre ci dessous pour n'afficher ce module qu'aux articles ayant un stock supérieur à 200000.
comme ça dans votre ou vos articles qui ont besoins du module d'upload, vous pouvez aller dans "statut du produit" > En Stock > mettez 999999
Ainsi les articles avec un stock de 1 à 200000 ne seront pas touchés et n’afficherons pas le module d'upload
Passons à la mise en place :
modifiez :
components/com_virtuemart/views/productdetails/tmpl/default.php
ou mieux, dans votre surcharge (jisse vas être content!) ici : templates/votre_template/html/com_virtuemart/productdetails/default.php
avant le code suivant :
ajouter ceci :
Ainsi, vous avez ajouté le module d'upload en fin de description du produit, ce qui permet d'écrire un truc dans le genre "envoyez nous vos images avec les outils ci dessous" :
à ajouter dans le css de votre template (à personnaliser selon vos critères) :
.envoi-image {
border: 1px solid #20D600;
margin-top: 8px;
margin-bottom: 15px;
padding: 15px 15px 15px 15px;
}
[édit] POUR LA SÉCURITÉ [/édit]
ajouté un fichier .htaccess dans votre dossier parent avec ce contenu :
exemple : mon parent est "clients" dans le dossier "images" et j'ai activer les dossiers utilisateurs.
donc mon htaccess est dans /images/clients/
ainsi /images/clients/monclient est protégé ainsi que /images/clients
évidement c'est lisible par le gestionnaire de médias pour récupérer les images !
[fin édit] et voilà ! plus d’accès pour les curieux . [/fin édit]
Voilà c'est fini et c'est au poil!
Nouvelle pièce jointe le 03/08/2012 (corrections et simplification)
extract-me-fr-FR.zip
Pour les besoin d'un site avec objets personnalisés, j'ai acheté Netbase VM Order Upload plugin
dispo ici : http://www.cms-extensions.net/netbas...ad-plugin.html
Super sur la démo, mais malheureusement, j'ai eu des problèmes ...rien ne fonctionne ...j'ai contacté l'auteur qui doit jeter un coup d'oeil. (sympa)... je remonterai l'info...
En attendant, j'ai cherché une autre solution, plus simple et si possible sans jquery.
Trouvé ! Easy File Uploader ...bon y'a un peu de bidouille, mais voici un truc gratos qui fonctionne du 1er coup !
Avantage, le script permet la création auto de sous-dossier au nom de l'utilisateur.
de 1 à 10 fichiers en une fois !
facilement intégrable au panier de VM2 (c'est un module !)
j'ai traduit, donc ça cause french ! (en pièce jointe)
Un truc à ne pas oublier de faire c'est important !!! :
le script qui fait la création automatique d'un sous-dossier au nom de l’utilisateur ne fait pas de fichiers index.html
Solution en bas de post avec un .htaccess
on y vas !
téléchargez :
installez le puis rendez-vous dans la gestion des modules :
ouvrez Easy File Uploader
configurez le comme vous voulez (moi j'ai indiqué de n'afficher le module pour les inscrits pour éviter les couillons) et choisissez une position
moi, j'ai choisis de créér "up-image-denis" (...ça revient dans le code ci-dessous).
Deux méthodes à laquelle j'ai pensé :
1- upload dans le panier (comme avec Netbase VM Order Upload plugin).
2- directement dans la fiche produit. (le client upload les fichiers et il commande l'article)...faut qu'il soit inscrit !
Ajoutons maintenant le module pour ceux qui choisissent dans le panier !
dans : /components/com_virtuemart/views/cart/tmpl/default.php
avant
Code:
<form method="post" id="checkoutForm"
Code:
<?php // BIDOUILLE DENIS 01/08/2012 ?> <div class="envoi-image"> <jdoc:include type="modules" name="up-image-denis" /> </div> </div> <?php // FIN BIDOUILLE DENIS 01/08/2012 ?>
J'ai fait un filtre ci dessous pour n'afficher ce module qu'aux articles ayant un stock supérieur à 200000.
comme ça dans votre ou vos articles qui ont besoins du module d'upload, vous pouvez aller dans "statut du produit" > En Stock > mettez 999999
Ainsi les articles avec un stock de 1 à 200000 ne seront pas touchés et n’afficherons pas le module d'upload
Passons à la mise en place :
modifiez :
components/com_virtuemart/views/productdetails/tmpl/default.php
ou mieux, dans votre surcharge (jisse vas être content!) ici : templates/votre_template/html/com_virtuemart/productdetails/default.php
avant le code suivant :
Code:
<?php } // Product Description END
Code:
<?php // DEBUT BIDOUILLE UPLOAD FICHIERS 01/08/2012 ?> <?php if (($this->product->product_in_stock - $this->product->product_ordered) > 200000) { ?><div class="envoi-image"><jdoc:include type="modules" name="up-image-denis" /></div> <?php } ?> <?php // FIN BIDOUILLE UPLOAD FICHIERS 01/08/2012 ?>
à ajouter dans le css de votre template (à personnaliser selon vos critères) :
.envoi-image {
border: 1px solid #20D600;
margin-top: 8px;
margin-bottom: 15px;
padding: 15px 15px 15px 15px;
}
[édit] POUR LA SÉCURITÉ [/édit]
ajouté un fichier .htaccess dans votre dossier parent avec ce contenu :
Code:
options -indexes
donc mon htaccess est dans /images/clients/
ainsi /images/clients/monclient est protégé ainsi que /images/clients
évidement c'est lisible par le gestionnaire de médias pour récupérer les images !
[fin édit] et voilà ! plus d’accès pour les curieux . [/fin édit]
Voilà c'est fini et c'est au poil!
Nouvelle pièce jointe le 03/08/2012 (corrections et simplification)
extract-me-fr-FR.zip
Commentaire