Jump to content

Broceliande

Members
  • Posts

    1,735
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Broceliande

  1. Bonjour, A cette heure, la seule chose que tu puisses faire est de créér des prix dégressifs sur le produit de base , c'est assez simple et intuitif dans l'admin produits , onglet prix. A ce prix (dégressif donc) , de base , tu peux ajouter un impact supplémentaire par déclinaison de produit , par rapport à la déclinaison par défaut. L'inverse ne sera pas possible , à savoir créer plusieurs déclinaisons à des tarifs différents , et faire des tarifs spécifiques par tranche sur chacune de ces déclinaisons. Ces dégressifs ne sont possibles que sur le prix de base , ce qui l'un dans l'autre devrait te suffire, à supposer simplement que le % age de réduction entre chaque tranche soit le même pour toutes les déclinaisons. En clair ce qui est impossible nativement , c'est d'avoir ce profil : Déclinaison tranche1 tranche2 etc... 1 : 12 % 20% ... 2 : 15% 17% .... mais il est facile d'avoir : Tarif de base tranche1 tranche2 etc... 50€ -10% -15% Déclinaison 1 : +10€ 2 : +15€ etc...
  2. Vraisemblablement tu devrais trouver le module dans la section "autres modules", a supposer que tu sois en 1.4 (merci de préciser ? ) . Il va de soi que tant que tu ne l'auras pas installé tu ne trouveras aucun onglet lié dans ton BO. Si tu ne le trouves pas , dans la section autres modules , ni dans aucune autres , il faudra alors vérifier les droits d'écriture sur ton dossier /modules : apache doit absolument avoir les droits en écriture sur ce dossier . Il faut également que l'hébergement soit en mesure de dézipper et donc posséder l'extension zip. Dans le cas contraire , il faut utiliser la procédure manuelle : dézipper sur ton ordi l'archive du module , puis envoyer via ftp le dossier ainsi créé dans le dossier /modules. Si rien de tout ceci ne fonctionne , il va falloir nous en dire un peu plus
  3. Salut, je cite l'article de magavenue : Il est clair que prestashop n'a pas intégré ceci pour le fun , il y a même une raison essentielle: c'est bien meilleur pour le référencement et ceci améliore même le référencement. Deux cas de figure donc : - Tu n'utilise réellement qu'une seule langue , et dans ce cas il suffit de supprimer toutes les autres pour virer le /fr - Tu utilises deux langues , et je pense que ce fonctionnement justement améliorera ta position et ton ref nat , plutôt que de le saper...
  4. Il te faut intégrer la notion de récursivité et donc avoir un include qui s'"auto appelera".... Tu peux prendre pour modèle le bloc catégories, qui utilise ainsi la récursivité dans un tpl smarty .
  5. Hello, A proprement parler ce que tu es en train de développer n'est pour l'heure pas un module mais s'apparente plus à un controller. (ne serait-ce qu'en raison de ça "J'ai bien mis une include pour le config.inc.php") Bref quoiqu'il en soit $result te retourne un tableau de résultats que tu peux parcourir assez facilement via un foreach, si tu attends plusieurs résultats : foreach($result as $row) { $champ1 = $row['monchamp']; $champ2 = $row['monautrechamp']; .... } Si tu n'attends qu'un seul résultat et ne veux pas faire de boucle, tu vas avec ExecuteS() devoir au moins adresser le premier résultat de cette manière : $fieldval = $result[0]['monchamp']; Si tu attends un seul résultat ne veux pas d'index sur une seule ligne , alors il sera préférable d'utiliser getRow plutôt que ExecuteS : $result = Db->getInstance()->getRow($sql); dans ce cas seulement tu aurais directement accès au champ : $result['mochamp'] mysql_fetch_array() et le mysql_fetch_row() ... sont sans effet car déja effectués par la classe Db ... En espérant dans que ceci t'aidera
  6. Tu peux nous préciser la version de presta stp ? parce que pour changer cet ordre il suffit de modifier les positions dans le bo , sur Catalogue .... et ce depuis la 1.4.x Merci de nous préciser également à quel endroit tu souhaites voir cet ordre respecté, car il peut s'agir d'un controller ou module non natif ...
  7. Si c'est vraiment le but, bien que je trouve ceci particulièrement restrictif (exemple : plus de possibilité d'avoir un produit dans sa catégorie ainsi qu'en page d'accueil ... cf module homefeatured...) , mais bon dans ce cas ce champ déroulant existe déja en la forme de la catégorie par défaut, il ne reste donc qu'à modifier adminProduct.php pour que le bloc catégorie soit hidden Genre <div style="display:none;" ....> au bon endroit
  8. Salut, En fait tu dois le faire en deux temps car cette syntaxe n'autorise pas l'appel à une fonction smarty pour renseigner value= ... 1 ère étape , initialiser la variable à vide : {assign var="name" value=""} 2ème , modifier l'appel de la fonction pour passer ta variable : {$cart->maFonction($name)} Côté déclaration de la fonction, tu dois utiliser les paramètres par référence afin de les modifier. Inutile d'utiliser un return, une assignation suffit : public function maFonction(&$name) { $name= rand(1, 9); } Pour info il n'est pas véritablement nécessaire d'utiliser une override pour déclarer une fonction smarty , cf cet article . A noter que si function_register est dépréciée, ce n'est pas le cas de registerPlugin.... Par ailleurs prestashop intègre une fonction valable à la fois pour smarty 2 et 3 , smartyRegisterFunction , dont l'appel est justement expliqué dans l'article que je cite ci-dessus
  9. Tu as configuré comment ton php.ini ? En fait sur l'host ce n'est pas localhost qu'il faut mettre mail le fqdn du smtp de ton fai : eg : [mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.free.fr ; http://php.net/smtp-port smtp_port = 25 et sinon ben ce que tu peux faire pour savoir si tu reçois bien les données get/post du formulaire dans le hook , fais un die : public function hookUpdateProduct($params) { die(Tools::getValue('oldprice')); }
  10. Je me pose une question : Puisque tu utilises un champ pour stocker ta valeur oldprice, pourquoi ne pas tenter de la récupérer directement depuis le hook du module ? A priori , s'il n'y a pas de redirection avant l'appel au hook updateProduct , tu devrais avoir conservé les données get/post du formulaire , tu as testé ? if( (float)Tools::getValue('oldprice') < ..... )
  11. Salut, Dans payment_return.php : tout à la fin , remplacez : if (!empty($errors) AND isset($id_cart) AND isset($amount)) { if ($verification_hash == $hashControl) $errors .= $payment->displayName.$payment->l('hash control invalid (data do not come from Receive&Pay)')."\n"; $payment->validateOrder($id_cart, intval(_PS_OS_CANCELED_), $amount, $payment->displayName, $errors); if ($cookie->id_cart == intval($cookie->last_id_cart)) unset($cookie->id_cart); } $url = 'order-confirmation.php?'; if (!empty($errors) OR !$id_cart OR !$id_module) $url.= 'error=true'; else { $customer = new Customer(intval($cart->id_customer)); $url.= 'id_cart='.$id_cart.'&id_module='.$id_module.'&key='.$customer->secure_key; } Tools::redirect($url); par if (!empty($errors) AND isset($id_cart) AND isset($amount)) { if ($verification_hash == $hashControl) $errors .= $payment->displayName.$payment->l('hash control invalid (data do not come from Receive&Pay)')."\n"; //$payment->validateOrder($id_cart, intval(_PS_OS_CANCELED_), $amount, $payment->displayName, $errors); //if ($cookie->id_cart == intval($cookie->last_id_cart)) //unset($cookie->id_cart); } $url = 'order-confirmation.php?'; if (!empty($errors) OR !$id_cart OR !$id_module) $url= 'order.php?step=0'; else { $customer = new Customer(intval($cart->id_customer)); $url.= 'id_cart='.$id_cart.'&id_module='.$id_module.'&key='.$customer->secure_key; } Tools::redirect($url); ?> La commande ne sera plus crée en cas de clic sur retour , le panier conservé , et le client reviendra sur son récap panier.
  12. Pour être honnête, même si on mange du poulet, foie gras etc ....je dois dire qu'on a pas vraiment envie de savoir à quelles machines nos volailles sont soumises (clair que je ne suis pas le seul). Mais bon pour être objectif à 100%, si je me place dans la peau d'un client : - Ce rouge un peu partout sur les visuels est-il nécessaire ? - le site est frais, dans son ensemble, mais peut être un peu trop, non ? on dirait un site d'imprimeur.... - Les liens sur le slide ne sont pas cliquable... du coup si on a envie de voir , on doit se débrouiller pour trouver sur le site à quoi l'encart fait référence. Sinon le site bien sur pour un prestashop montre suffisament sa différence, visuellement, mais j'ai le sentiment qu'on ne vend pas des "plumeuses" comme on vend des perceuses. Après bien sûr ce n'est qu'un avis désintéressé, à prendre comme n'importe quel autre.
  13. Hmm navré Lionel , mais là y'a rien de tout fait : une surcharge de controller nécessite plus qu'un copier / coller , c'est du pur code php , donc en fait il faut comme je le disais , intervenir au cas par cas : un type de controller = une modif sur mesure = un tri . Je t'en ferais un au besoin , mais je doute que ça te donne les autres. A la limite je t'appelle semaine prochaine.
  14. Une petite surcharge des controllers/classes concerné(e)s...(override) ... c'est possible.... Le seul hic c'est qu'il faudra une surcharge par controller/classe (nouveautés / catégories/ etc .... ) Mais rien de bien complexe : ça peut se faire controller par controller , au coup par coup. Pour les non devs , ça n'est pas parlant , mais on peut facilement donner des exemples... je ferais trop long de suite si je me mettais à expliquer les controleurs / classes / etc , ce qu'on nomme MVC...
  15. Je vois que le topic ne bouge pas tant que ça , alors je ramène ma fraise une deuxième fois .... Je voulais pas le faire au départ, mais du coup je vais tout de même donner un exemple de ce que j'adorerais voir dans les futures NL dev de prestashop : http://blog.dev-net.fr/2012/01/ajoutez-vos-propres-fonctions-a-smarty-depuis-un-module-prestashop/ A mon sens c'est vraiment représentatif : une méthode, technique et toute con a la fois, mais des tas d'applications possibles .... Forcément là je cite un article de ma pomme ... alors ça peut paraître assez présomptueux, mais pourtant je l'ai rédigé exactement dans l'esprit de ce que j'aimerais lire moi même. En gros on aimerait bien apprendre, être bluffés , découvrir et s'éclater en lisant la NL ... En fait ce type d'article, que je viens de citer, est exactement ce que je voudrais , personnellement , recevoir dans ma boîte mail. Mais des vrai news, des docs techniques sur telle ou telle évolution, forcément je signe aussi.
  16. De toute évidence , "dupliquer" un module n'est absolument pas aussi simple que celà en a l'air. De plus , j'ai un doute sur le fait que dompromo autorise une telle chose : une licence est monosite , certes, mais implique une 'mono-utilisation" ... Je crois que tu ferais bien de te tourner vers l'auteur plûtot que sur ce forum , non ? Note qu'ici nous n'avons pas le code source du module, ce qui implique que te répondre se ferait vraiment à la volée... à l'instinct... mais comme ton énoncé précise bien les limites de ce qu'on pourrait t'apporter : tables à renommer , etc ... clairement nous ne pouvons rien pour toi :s
  17. @ini_set ne fonctionne que si il est autorisé, et encore, que pour certaines valeurs. S'il ne fonctionne pas en l'état , inutile donc de chercher plus lojn : l'hébergement n'est simplement pas configuré pour accepter ta valeur.
  18. Prestabox n'est pas un logiciel mais une formule de service vendue par prestashop ... basée bien sûr sur le logiciel... mais avec quelques particularités... Mais si tu as installé prestashop toi même , c'est donc qu'il ne s'agit pas d'une prestabox , et que tu peux sans probleme y installer le module de SotEW
  19. Excellent ! I already found such funny comments or code snippets in Prestashop's core, wich indeed made me smile. Really good Idea to post and share them .
  20. Tout à fait le problème ne se pose pas pour les auto entrepreneurs . Il ne faut pas en effet oublier que nous ne vendons pas HT mais TTC , même si nous n'avons pas de TVA .
  21. La 1.5 n'étant pas encore sortie, donc n'existant pas en version définitive, je vois mal comment on pourrait en obtenir déja un MCD. Il n'en existe déja pas d'officiel pour la version 1.4 ... mais à partir des classes et d'une bdd presta , même pourquoi pas de la version 1.5 RC ... il existe des outils permettant de générer ce modèles. Sinon je dois dire que si ton client met sur la balance le fait que sans celà il passera à une version concurrente , je crois que chacun d'entre nous te dira de le laisser faire . Il reviendra vite vers toi quand il découvrira les tarifs du moindre développement sur ces fameuses solutions , crois moi .
  22. PS : j'ai plussoyé la réponse css en raison de son degré de technicité , plus accessible , mais il est clair que dans ce cas de figure c'est la solution smarty que j'emploierais moi même...
  23. +1 pour la réponse de L'agence Nature... juste en css . La réponse de jeckyl et chrisxm est tout aussi valable , mais demande plus de connaissances (smarty ici ) . Dans le 1ere cas , en css uniquement , le chargement de la page ne sera pas accéléré car la colonne , même rendue invisible , sera chargée, ce qui est faisable par n'importe quel webmaster calé en css. Dans le 2ème , la colonne et les modules y figurant ne sont pas chargés , ce qui accélère d'autant l'affichage. La il faut des connaissances minimales en smarty et savoir un peu comment fonctionnent les hooks (c'est ce qui correspond au code donné par chrisxm) A toi de choisir celle qui te convient le mieux , en fonction de tes connaissances ou de celles que tes propres prestataires peuvent mettre en oeuvre.
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More