Bnito Posted January 5, 2010 Share Posted January 5, 2010 Bonjour,Je souhaiterai afficher dans la facture éditée en pdf les valeurs des champs texte de personnalisation de produit.exemple : j'ai deux champs de personnalisation hauteur et largeur d'un produit malheureusement dans la facture il n'ai juste marqué que le produit est personnalisé hors je voudrais afficher "hauteur" et "largeur" avec à coté la valeur saisit lors de l'achat.auriez vous une idée ?? je ne sais pas comment faire car le fichier PDF.php est un peu brouillon pour moi.Sinon dans la même idée, je voudrais dans le "panier" enfin quand on affiche le panier, affiche non pas texte n°1 texte n°2 et leur valeur mais "hauteur" et "largeur" ... comment m'y prendre ? il me semble que cela doit se développer dans la page order_details.php pour sur une qui s'y rapporte ... pourriez vous m'aider ? je suis sur que quelqu'un à une solution a me proposer ! merci Link to comment Share on other sites More sharing options...
bbajc Posted February 26, 2010 Share Posted February 26, 2010 Bonsoir,est-ce que vous avez trouver la solution je cherche à faire la meme chose !!!!y'a pas d'aide sur ce forum on dirait... que des chercheurs d'aide !! Link to comment Share on other sites More sharing options...
Bnito Posted February 28, 2010 Author Share Posted February 28, 2010 oui j'ai trouvé comment faire, le résultat est convenable, j'affiche désormais le nom de la personnalisation texte, dans le listing des produit du papier, de la commande et aussi sur les factures avec la valeur a coté bien entendu. ex: hauteur : XXX, largeur : XXX.il faut que je reunisse les infos de mes modifs pour pouvoir les partager. Link to comment Share on other sites More sharing options...
bbajc Posted February 28, 2010 Share Posted February 28, 2010 ça serait génial si vous retrouviez tout ça merci de me tenir au courant ! Link to comment Share on other sites More sharing options...
Bnito Posted March 1, 2010 Author Share Posted March 1, 2010 Alors alors j'ai tenté de récupéré ce que j'avais fait, il est possible qu'il manque des choses mais on va déja déballer tout cela.alors dans le fichier de classes Product.php il faut remplacer la fonction "getAllCustomizedDatas" par celle ci : static public function getAllCustomizedDatas($id_cart) { if (!$result = Db::getInstance()->ExecuteS(' SELECT cd.`id_customization`, c.`id_product`, c.`id_product_attribute`, cd.`type`, cd.`index`, cd.`value` FROM `'._DB_PREFIX_.'customized_data` cd NATURAL JOIN `'._DB_PREFIX_.'customization` c WHERE c.`id_cart` = '.intval($id_cart).' ORDER BY `id_product`, `id_product_attribute`, `type`, `index`')) return false; $customizedDatas = array(); $i=0; foreach ($result AS $row) { $customizedDatas[intval($row['id_product'])][intval($row['id_product_attribute'])][intval($row['id_customization'])]['datas'][intval($row['type'])][$i] = $row; if (($result2 = Db::getInstance()->ExecuteS(' SELECT cfl.`name` FROM `'._DB_PREFIX_.'customization_field_lang` cfl INNER JOIN `'._DB_PREFIX_.'customization_field` cf ON (cf.`id_customization_field` = cfl.`id_customization_field`) WHERE cfl.`id_lang` = 2 AND cf.`id_customization_field` = '.intval($row['index']).'')) === false) return false; foreach ($result2 AS $row2) $customizedDatas[intval($row['id_product'])][intval($row['id_product_attribute'])][intval($row['id_customization'])]['datas'][intval($row['type'])][$i]['name'] = $row2['name']; $i++; } if (!$result = Db::getInstance()->ExecuteS('SELECT `id_product`, `id_product_attribute`, `id_customization`, `quantity`, `quantity_refunded`, `quantity_returned` FROM `'._DB_PREFIX_.'customization` WHERE `id_cart` = '.intval($id_cart))) return false; foreach ($result AS $row) { $customizedDatas[intval($row['id_product'])][intval($row['id_product_attribute'])][intval($row['id_customization'])]['quantity'] = intval($row['quantity']); $customizedDatas[intval($row['id_product'])][intval($row['id_product_attribute'])][intval($row['id_customization'])]['quantity_refunded'] = intval($row['quantity_refunded']); $customizedDatas[intval($row['id_product'])][intval($row['id_product_attribute'])][intval($row['id_customization'])]['quantity_returned'] = intval($row['quantity_returned']); } return $customizedDatas; } ceci permet d'ajouter dans le tableau le nom de chaque custo textfield par contre pas dynamqieu pour le moment, on voit bien que la langue utilisée est 2, (francais) il va falloir modifier ça.ensuite dans le fichier order-details.tpl :à la ligne environ 150 il faut mettre ca : >{elseif $type == $CUSTOMIZE_TEXTFIELD} </pre> <ul>{counter start=0 print=false} {foreach from=$datas item='data'} {$data.name}{l s=':'} {$data.value} {/foreach} </ul> <br> ceci affiche le nom et la valeur de chaque custo pour chaque produit detaillé dans le compte rendu de commande (panier) avant le paiement. Link to comment Share on other sites More sharing options...
Bnito Posted March 1, 2010 Author Share Posted March 1, 2010 enfin pour afficher la meme chose dans la faacture :dans le fichier PDF.php dans classes il faut mettre à la ligne 600 environ, dans la partie "* Product table with price, quantities..." le code suivant : enfin remplacer tout le if(isset(customi .... par : if (isset($customizedDatas[$product['product_id']][$product['product_attribute_id']])) { $custProd =''; foreach ($customizedDatas[intval($product['product_id'])][intval($product['product_attribute_id'])] AS $customizationId => $customization) { foreach ($customization['datas'] AS $type => $datas) if ($type == _CUSTOMIZE_TEXTFIELD_) { foreach ($datas AS $data) { $custProd .= ', '.$data['name'].' : '.$data['value']; } } } $productQuantity = intval($product['product_quantity']) - intval($product['customizationQuantityTotal']); if ($delivery) $this->SetX(25); $before = $this->GetY(); $this->MultiCell($w[++$i], 5, Tools::iconv('utf-8', self::encoding(), $product['product_name']).' - '.self::l('Customized').' - '.$custProd, 'B'); $lineSize = $this->GetY() - $before; $this->SetXY($this->GetX() + $w[0] + ($delivery ? 15 : 0), $this->GetY() - $lineSize); $this->Cell($w[++$i], $lineSize, $product['product_reference'], 'B'); if (!$delivery) $this->Cell($w[++$i], $lineSize, self::convertSign(Tools::displayPrice($unit_without_tax, self::$currency, true, false)), 'B', 0, 'R'); $this->Cell($w[++$i], $lineSize, intval($product['customizationQuantityTotal']), 'B', 0, 'C'); if (!$delivery) { $this->Cell($w[++$i], $lineSize, self::convertSign(Tools::displayPrice($unit_without_tax * intval($product['customizationQuantityTotal']), self::$currency, true, false)), 'B', 0, 'R'); $this->Cell($w[++$i], $lineSize, self::convertSign(Tools::displayPrice($unit_with_tax * intval($product['customizationQuantityTotal']), self::$currency, true, false)), 'B', 0, 'R'); } $this->Ln(); $i = -1; $total_without_tax = $unit_without_tax * $productQuantity; $total_with_tax = $unit_with_tax * $productQuantity; } voila je pense que c'est tout. Link to comment Share on other sites More sharing options...
bbajc Posted March 26, 2010 Share Posted March 26, 2010 meri ! mais je comprends pas : snif... ça marche pas... je n'ai toujours que la mention "Customized" dans le mail du client et plus rien dans le mien Link to comment Share on other sites More sharing options...
bbajc Posted March 26, 2010 Share Posted March 26, 2010 1000000000 excuses !je suis bêêêête !c'est le fichier pdf de commande qu'on a modifié là, donc merci merci merci merci ça fonctionne nikel!je cherchais à voir la modif dans mes emails de notification de commandes parce que j'aimerai aussi que les champs customization apparaissent là...j'ai essayé de modifier les fichier du mailalert en ajoutant des id_custimization, calquée sur les lignes id_attribute mais ça marche po ... snifencore désolée et merci pour le pdf Link to comment Share on other sites More sharing options...
bbajc Posted March 26, 2010 Share Posted March 26, 2010 une idée.... je calle...ça doit etre dans l'idée des modifications que tu as fais dans le fichier pdf.php mais pour myalerts.php mais je n'y arrive pas !!!! Link to comment Share on other sites More sharing options...
bbajc Posted March 26, 2010 Share Posted March 26, 2010 s'il vous plait je suis nulle en php...j'ai aussi trouvé ce posthttp://www.prestashop.com/forums/viewthread/42807/modules_tiers/retrouver_le_id_customization_dans_autre_page_que_le_panier_/je suis sure que la solution est pas loin, je ne comprend juste pas ce langage... personne ne peut m'aider ...je ne peux pas ouvrir ma boutique tant que je n'ai pas ça... Link to comment Share on other sites More sharing options...
Bnito Posted March 26, 2010 Author Share Posted March 26, 2010 pas de panique, je regarde ça ... Link to comment Share on other sites More sharing options...
Bnito Posted March 26, 2010 Author Share Posted March 26, 2010 le but de votre modification est quoi exactement ? vous voulez que lor d'une commande, le mail de confirmation de commande affiche les personnalisations textes ? car dans ce cas ce n'est pas dans le module mailalert enfin il me semble je regarde ca. Link to comment Share on other sites More sharing options...
bbajc Posted March 26, 2010 Share Posted March 26, 2010 merci de m'aider en fait je voudrais que dans mon email de notification apparaisse les valeurs des champs de personnalisation c'est bien çamerci Link to comment Share on other sites More sharing options...
jjs Posted April 9, 2010 Share Posted April 9, 2010 Bonjour, je cherche également à insérer des champs personnalisés ou personnalisables (custom fields) dans la page d'accueil, est ce que par bonheur l'un d'entre vous aurais trouvé la solution?Merci d'avance. Link to comment Share on other sites More sharing options...
Bnito Posted April 9, 2010 Author Share Posted April 9, 2010 dans la page d'accueil ?? va falloir être plus précis pour que je vous donne une réponse. Link to comment Share on other sites More sharing options...
bbajc Posted April 10, 2010 Share Posted April 10, 2010 bonjour,sur mes produits j'ai un champs texte de personnalisation, et pas d'attributs car mes listes sont trop nombreuses et ça ne fonctionne pas (:trop de déclinaisons) alors je veux faire rentrer l'information par un champ texte, il s'agit d'une date de naissance.cette date est déterminante pour choisir le produit que je vais envoyer.quand je reçois mon email "une nouvelle commande" j'aimerai que dans la case article apparaisse la date saisie par la personne dans le champ de personnalisation !je ne sais pas comment l'expliquer plus clairement.... Link to comment Share on other sites More sharing options...
jjs Posted April 10, 2010 Share Posted April 10, 2010 Bonjour,Voici quelques précisions...mon site a pour vocation de rechercher des produits pour le compte d'internautes qui eux doivent rentrer sur ma page d'accueil une (ou plusieurs) URL / Description / Prix (chaque information dans un champ différent) correspondants aux produits souhaités. Comment faire?Merci, Link to comment Share on other sites More sharing options...
Bnito Posted April 13, 2010 Author Share Posted April 13, 2010 c'est tout à fait possible je l'ai fait, ma modif permet d'afficher le nom du champ text au lieu de "textfield" ainsi que la valeur de celui ci dans le recap de l commande, mais aussi dans le panier, et les factures et aussi dans le backoffice pour la gestion des commandes. Link to comment Share on other sites More sharing options...
bbajc Posted April 13, 2010 Share Posted April 13, 2010 bonsoirbnito je suis désolée mais ça n'affiche pas la valeur du champ text dans les emails de notification de commande... Link to comment Share on other sites More sharing options...
Bnito Posted April 13, 2010 Author Share Posted April 13, 2010 Ah mais je n'ai pas dit le contraire, c'est la seule chose qui n'est pas gérée pour le moment mais je vais regarder tout cela. il faut juste que je trouve quelle fonction est utilisée pour envoyer automatiquement le mail apres je ferais le reste sans trop de souci Link to comment Share on other sites More sharing options...
alma Posted April 13, 2010 Share Posted April 13, 2010 BonsoirSi quelqu'un a une solution pour saisir autre chose que des champs textes dans les personnalisations..Par exemple une selection dans un champ liste de choix, boutons radios, case a cocher .. etcj'arrive a afficher graphiquement ces éléments de saisies, les valider a la premier mise en panier, mais en retournant sur l'article je peux le recommander sans etre obligé de saisir les infos a nouveaux ! même avec des champs obligatoires???bref la cata !!! j'ai déja poster sur deux autres forum .. mais helas sans success .http://www.prestashop.com/forums/viewthread/51193/developpement/modification_du_champ_de_personnalisationMerci pour toutes réponses utiles Link to comment Share on other sites More sharing options...
Alex13 Posted September 1, 2010 Share Posted September 1, 2010 Des nouvelles concernant la possibilité d'afficher les données de personnalisation sur le mail ??? Merci d'avance. Link to comment Share on other sites More sharing options...
Ukoo - Guillaume Posted February 16, 2011 Share Posted February 16, 2011 Excellent, ça à bien fonctionné pour moi sur une version 1.2.5.0 de Presta.Je rajoute que l'on peu aussi modifier les fichiers : admin/tabs/AdminOrders.php et shopping-cart.tpl (chercher : Text #). Link to comment Share on other sites More sharing options...
hulk Posted June 4, 2011 Share Posted June 4, 2011 Bonjour a tousCe que je cherche c'est d'ajouter un champ personnalisable dans la facture pdf, je m'explique bien : je veux ajouter un champ personnalisé Garantie dans la fiche de chaque commande en BO c a d dans le fichier AdminOrders.php.J'ai une durée de garantie standard pour tous mes produits et qui sera affiché dans la facture pdf a l'aide du module développé sur mesure pour afficher les caractéristiques des produits sur facture pdf. Lorsque un client veut échanger son produit défectueux par un autre après un mois par exemple, sa nouvelle commande doit mentionnée une durée de garantie moins la période de garantie déjà consommée (1 mois) dés a la première acquisition donc c'est pour cela que je doit avoir ce champ personnalisable.Ce champ personnalisé sera affiché dans la nouvelle facture Pdf dans la colonne "Description" sous le nom du produit.Normalement il faut rajouter une colonne dans une des tables orders pour enregistrer ce champ pour chaque commande donc je opte pour un module pour cette tâche mais je suis pas un développeur expérimente pour achever cette tâche.je galère encore mais s'il y'a une idée, je suis preneur :-)Version 1.2.5Merci Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now