-
Posts
45 -
Joined
-
Last visited
Profile Information
-
Activity
Agency
RomuGb's Achievements
Newbie (1/14)
5
Reputation
-
remarketing Google prestashop 1.5
RomuGb replied to RomuGb's topic in Ecommerce x PrestaShop [ARCHIVE BOARD]
Ok if you find a solution for 1.6 version please post it here. It will help others. Thanks. Romu- 25 replies
-
- remarketing
-
(and 1 more)
Tagged with:
-
remarketing Google prestashop 1.5
RomuGb replied to RomuGb's topic in Ecommerce x PrestaShop [ARCHIVE BOARD]
Thanks Ajensen27 !- 25 replies
-
- remarketing
-
(and 1 more)
Tagged with:
-
Mise à jour fiche produit à travers application tierce
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Salut Mediacom87, Je ne veux plus utiiliser l'import CSV car je veux pouvoir mettre à jour les informations depuis une application que j'ai développé et qui va mettre les produits 1 par 1 ou 10 par 10 à travers une page PHP que j'appel. Merci pour ta réponse :-) Bye- 4 replies
-
- mise à jour
- fiche produit
-
(and 3 more)
Tagged with:
-
Mise à jour fiche produit à travers application tierce
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Ok j'avance sur le sujet : J'ai trouvé un code qui me permet d'ajouter ou modifier simplement un produit lisant un fichier XML : <?php include(dirname(__FILE__).'/config/config.inc.php'); include(dirname(__FILE__).'/init.php'); $contentxml = file_get_contents('prod.xml'); $xml = simplexml_load_string($contentxml); foreach ($xml->Products as $product_xml) { if ($product_xml->Valid_internet_product == 1) { /* Update an existing product or Create a new one */ $id_product = (int)Db::getInstance()->getValue('SELECT id_product FROM '._DB_PREFIX_.'product WHERE reference = \''.pSQL($product_xml->Reference).'\''); $product = $id_product ? new Product((int)$id_product, true) : new Product(); $product->reference = $product_xml->Reference; $product->price = (float)$product_xml->Price; $product->active = (int)$product_xml->Active_product; $product->weight = (float)$product_xml->Weight; $product->minimal_quantity = (int)$product_xml->MinOrderQty; $product->id_category_default = 2; $product->name[1] = utf8_encode($product_xml->Products_name); $product->name[5] = $product_xml->Products_name; $product->description[1] = utf8_encode($product_xml->Description); $product->description[5] = utf8_encode($product_xml->Description); $product->description_short[1] = utf8_encode($product_xml->Short_Description); $product->description_short[5] = utf8_decode($product_xml->Short_Description); $product->link_rewrite[1] = Tools::link_rewrite($product_xml->Products_name); $product->link_rewrite[5] = Tools::link_rewrite($product_xml->Products_name); if (!isset($product->date_add) || empty($product->date_add)) $product->date_add = date('Y-m-d H:i:s'); $product->date_upd = date('Y-m-d H:i:s'); $id_product ? $product->updateCategories(array(2)) : $product->addToCategories(array(2)); $product->save(); echo 'Produit <b>'.$product->name[5].'</b> '.($id_product ? 'Mise a jour' : 'cree').'<br />'; } } ?> Mon fichier prod.xml contient les informations suivantes : <?xml version="1.0" encoding="ISO-8859-1"?> <Document> <Products> <Reference>1101TEST</Reference> <Valid_internet_product>1</Valid_internet_product> <Products_name>dedicace épodice</Products_name> <Price>69.95</Price> <Active_product>1</Active_product> <SupplierNo>08</SupplierNo> <Weight>5</Weight> <Description>description longue dès que j'ai terminé</Description> <Short_Description>Description courte et sont dès maintenant en retard</Short_Description> <MinOrderQty>1</MinOrderQty> <Categories> <Category> <CategoryID>63</CategoryID> <CategoryName>Bins\Universal</CategoryName> <Active_category>1</Active_category> <Changed>0</Changed> </Category> </Categories> <Tax_Class_ID>1</Tax_Class_ID> <Discount> <Discount_percentage>percentage</Discount_percentage> <discountprice_ex_vat>0</discountprice_ex_vat> <Discountprice_include_vat>0</Discountprice_include_vat> <Pct_ReductionPercent>0</Pct_ReductionPercent> </Discount> </Products> </Document> Ca marche bien ! 2 problèmes restent : 1. Il faudrait que je puisse retrouver la category (la créer s'il elle n'existe pas) et l'associer au produit s'il est nouveau. 2. mon fichier XML est en ISO-8859-1 pour le nom produit c'est bon mais pour la description courte et longue je n'ai pas la bonne information. Si j'enlève le utf8_encode() j'obtient une erreur ?! Merci pour votre aide. Romuald- 4 replies
-
- mise à jour
- fiche produit
-
(and 3 more)
Tagged with:
-
modification product webservices
RomuGb replied to Ragnard's topic in PrestaShop pour les développeurs
Salut, J'aimerais moi aussi pouvoir mettre à jour mes 10000 articles à travers le webservice. Plutot que d'envoyer un fichier, ne puis-je pas envoyer la reférence produit à ma page PHP qui recherche le produit et mets à jour le stock avec la quantité que j'ai passé en paramètre dans l'url à l'aide du web service ? Aurais-tu un bout de code pour m'aider à faire cela ? Merci. Romuald -
Bonjour, D'un coté j'ai mon fichier Excel avec mes stocks produits à jour. De l'autre j'ai mon site avec les mêmes produits. Je fais 4 fois par semaine une mise à jour du stock à travers un import CSV basé sur la référence produit. C'est long et fastidieux. Je voudrais faire une page PHP stockée sur le site que je pourrais appeler et qui mettrait à jour le stock d'un produit en particulier. Je passerais à cette page internet PHP la référence produit que je désire changer et le stock à mettre à jour. La page PHP récupère les paramètres (ref et stock) passés dans l'url, recherche le produit et mets à jour le stock de la fiche produit... Quelqu'un pourrait m'aider sur le code ? Je pourrais utiliser le webservice mais c'est tres lent et je dois faire la mise à jour de 10000 produit tous les jours :-( Merci pour vos conseils/aide Romuald
- 4 replies
-
- mise à jour
- fiche produit
-
(and 3 more)
Tagged with:
-
Hi everyone ! i have been searching hard to add the remarketing google script in prestashop 1.5.3 : Here is my solution, hope this will help many !!! In /httpdocs/themes/yourtheme/footer.tpl At the end of the code, just before </body> : <!-- google remarketing script --> <script type='text/javascript'> var google_tag_params = { {if $page_name == 'index'} ecomm_pagetype: 'home' {elseif $page_name == 'order'} ecomm_prodid: [{foreach from=$products item=product name=prodid}'{$product.id_product}'{if $smarty.foreach.prodid.last}{else},{/if}{/foreach}], ecomm_pagetype: 'cart', ecomm_totalvalue: '{convertPrice price=$cart->getOrderTotal(true)}' {elseif $page_name == 'product'} ecomm_prodid: '{$product->id}', ecomm_pagetype: 'product', ecomm_totalvalue: '{$product->getPrice(false, $smarty.const.NULL, $priceDisplayPrecision)}' {elseif $page_name == 'order-confirmation'} ecomm_pagetype: 'purchase', ecomm_totalvalue: '{$total_to_pay}' {elseif $page_name == 'category'} ecomm_pagetype: 'category' {else} {/if} }; </script> {literal} <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = xxxx mettre ici votre code xxxxxx; var google_custom_params = window.google_tag_params; var google_remarketing_only = true; /* ]]> */ </script> <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/xxxxmettre_ici_votre code_xxxxxx/?value=0&guid=ON&script=0"/> </div> </noscript> {/literal} </body> </html> In /httpdocs/controllers/front/OrderConfirmationController.php (Its better to add this in the override OrderConfirmationController.php but i dont know how to do it, if i could have some help on this ?) public function initContent() { parent::initContent(); $this->context->smarty->assign(array( 'is_guest' => $this->context->customer->is_guest, 'HOOK_ORDER_CONFIRMATION' => $this->displayOrderConfirmation(), 'HOOK_PAYMENT_RETURN' => $this->displayPaymentReturn() )); if ($this->context->customer->is_guest) { $this->context->smarty->assign(array( 'id_order' => $this->id_order, 'reference_order' => $this->reference, 'id_order_formatted' => sprintf('#%06d', $this->id_order), 'email' => $this->context->customer->email )); /* If guest we clear the cookie for security reason */ $this->context->customer->mylogout(); } /* google remarketing */ $order = new Order($this->id_order); $cart = new Cart($order->id_cart); $this->context->smarty->assign(array( 'total_to_pay'=>$order->getOrdersTotalPaid() )); /* google remarketing */ $this->setTemplate(_PS_THEME_DIR_.'order-confirmation.tpl'); } Enjoy !!!
- 25 replies
-
- 5
-
- remarketing
-
(and 1 more)
Tagged with:
-
Import update product throught PHP page
RomuGb replied to RomuGb's topic in Ecommerce x PrestaShop [ARCHIVE BOARD]
Thanks DevNet. In fact it's 7000 product ^^ I dont know the native module that can import in background and close your browser !!! I use the import function in prestashop backoffice. Its not automatique at all... And it requires a execution time very long which is not accepted by providers... Can you tell me more about your module ? Where do you fid it ? Thanks Bye -
Import update product throught PHP page
RomuGb replied to RomuGb's topic in Ecommerce x PrestaShop [ARCHIVE BOARD]
Hi Devnet, Thanks for your reply. I already use the prestashop's import function with CSV file but it takes 1 hour because i have 7000 thousand product. And i have to do it Twice a week so its king of a pain in the a... Thanks anyway. romu -
Hi, I'd like to create a php page, in prestashop, that can be called with a http get/send request. I will send parameters (stock, price, description, product reference i have in my Excel file ...) to the php page that will look for the product with the manufacturer product reference, and update the product. I guess that will be much faster than the prestashop webservices. Do you have any model of php page that can help me to begin ? Or maybe a module that can do that ? Thanks for your help.
-
Tous les messages privés dans le module mailalerts
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Bon pour info, j'ai mis la fonction getAllMessage(); dans classes/orders.php et cela marche comme cela mais j'ai du toucher au coeur de Prestashop, alors il faudrait soit faire un override soit faire la fonction dans module/mailalerts/mailalerts.php mais je n'y arrive pas... Ca ne marchait pas quand je faisais le code ci-dessous dans la page mailalerts.php : public function getAllMessage() { return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT `message` FROM `'._DB_PREFIX_.'message` WHERE `id_order` = '.(int)$this->id.' ORDER BY `id_message` '); } $TousMessages = this->getAllMessage(); foreach ($TousMessages as $value) { $message.= $value['message'] . '<br />'; } je n'avais pas les bonnes informations. Si quelqu'un sait comment faire pour mettre la requète dans la page mailalerts.php ?? Merci.- 9 replies
-
- mailalerts
- email alert
-
(and 5 more)
Tagged with:
-
Tous les messages privés dans le module mailalerts
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Ok Domi, j'ai bien compris les manips. $value['message'] => message est le champ extrait de la requête SQL, ça c'est bon... J'ai mis la fonction getAllMessage() dans la page mailalerts : public function getAllMessage() { return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT `message` FROM `'._DB_PREFIX_.'message` WHERE `id_order` = '.(int)$this->id.' ORDER BY `id_message` '); } à la suite des fonctions déjà présentes. Mon code d'appel à la fonction : $TousMessages = getAllMessage(); foreach ($TousMessages as $value) { $message.= $value['message'] . '<br />'; } Ca marche pas, il ne trouve pas la fonction ?! Il faut définir ou se trouve la fonction ? $TousMessages = ??->getAllMessage(); Merci d'avance.- 9 replies
-
- mailalerts
- email alert
-
(and 5 more)
Tagged with:
-
Tous les messages privés dans le module mailalerts
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Salut domi, Ok j'essai cette manip. Mais pourquoi message dans indice tableau ??? foreach ($TousLesMessages as $value) { $messages .= $value['message'] . '<br />'; } D'où vient ce 'message' ?? Merci.- 9 replies
-
- mailalerts
- email alert
-
(and 5 more)
Tagged with:
-
Tous les messages privés dans le module mailalerts
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Hello Domi, bon ça marche pas, il n'y a rien dans le commentaire c'est vide. Voici le code : Dans classes/order/order.php à la ligne 500 j'ai rajouter la fonction getAllMessage() avec tous les messages issue de la requète : public function getAllMessage() { return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT `message` FROM `'._DB_PREFIX_.'message` WHERE `id_order` = '.(int)$this->id.' ORDER BY `id_message` '); } Dans MailAlerts.php vous avez dans ligne 275 : $TousMessages = $order->getAllMessage(); foreach ($TousLesMessages as $value) { $message .= $value['TousLesMessages '] . '<br />'; } J'ai aussi essayé ça : $TousMessages = $order->getAllMessage(); foreach ($TousMessages as $cle => $element) { $message .= $element[$cle] . '<br />'; } Puis plus dans dans la même page, j'ai l'attribution des variables pour l'email à envoyer : $template_vars = array( '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{delivery_block_txt}' => MailAlert::getFormatedAddress($delivery, "\n"), '{invoice_block_txt}' => MailAlert::getFormatedAddress($invoice, "\n"), '{delivery_block_html}' => MailAlert::getFormatedAddress($delivery, '<br />', array( 'firstname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>', 'lastname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>')), '{invoice_block_html}' => MailAlert::getFormatedAddress($invoice, '<br />', array( 'firstname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>', 'lastname' => '<span style="color:#DB3484; font-weight:bold;">%s</span>')), '{delivery_company}' => $delivery->company, '{delivery_firstname}' => $delivery->firstname, '{delivery_lastname}' => $delivery->lastname, '{delivery_address1}' => $delivery->address1, '{delivery_address2}' => $delivery->address2, '{delivery_city}' => $delivery->city, '{delivery_postal_code}' => $delivery->postcode, '{delivery_country}' => $delivery->country, '{delivery_state}' => $delivery->id_state ? $delivery_state->name : '', '{delivery_phone}' => $delivery->phone, '{delivery_other}' => $delivery->other, '{invoice_company}' => $invoice->company, '{invoice_firstname}' => $invoice->firstname, '{invoice_lastname}' => $invoice->lastname, '{invoice_address2}' => $invoice->address2, '{invoice_address1}' => $invoice->address1, '{invoice_city}' => $invoice->city, '{invoice_postal_code}' => $invoice->postcode, '{invoice_country}' => $invoice->country, '{invoice_state}' => $invoice->id_state ? $invoice_state->name : '', '{invoice_phone}' => $invoice->phone, '{invoice_other}' => $invoice->other, '{order_name}' => sprintf('%06d', $order->id), '{shop_name}' => Configuration::get('PS_SHOP_NAME'), '{date}' => $order_date_text, '{carrier}' => (($carrier->name == '0') ? Configuration::get('PS_SHOP_NAME') : $carrier->name), '{payment}' => Tools::substr($order->payment, 0, 32), '{items}' => $items_table, '{total_paid}' => Tools::displayPrice($order->total_paid, $currency), '{total_products}' => Tools::displayPrice($order->getTotalProductsWithTaxes(), $currency), '{total_discounts}' => Tools::displayPrice($order->total_discounts, $currency), '{total_shipping}' => Tools::displayPrice($order->total_shipping, $currency), '{total_wrapping}' => Tools::displayPrice($order->total_wrapping, $currency), '{currency}' => $currency->sign, '{message}' => $message ); Je n'optiens rien, alors que je voudrais dans l'email avoir : Message du client : message 1 <br /> message 2 <br /> message 3 <br /> Une idée ? Merci.- 9 replies
-
- mailalerts
- email alert
-
(and 5 more)
Tagged with:
-
Tous les messages privés dans le module mailalerts
RomuGb replied to RomuGb's topic in PrestaShop pour les développeurs
Merci Domi, Bon n'étant pas un très fort en php, je suppose que les données tableau retournée par la requête Db::getInstance()->ExecuteS('requete SELECT SQL') revient dans $message Faut-il déclarer $message comme un tableau ? Je dois maintenant faire foreach ($message as $i => $value) { $TousLesMessages.= $value . "<br>"; } la variable $TousLesMessages devrait contenir : message 1+<br>message2<br>... ? c'est bon ? Merci.- 9 replies
-
- mailalerts
- email alert
-
(and 5 more)
Tagged with: