[Resolu]Notification de produits sans compte client |
Bienvenue invité ( Connexion | Inscription )
[Resolu]Notification de produits sans compte client |
4 Sep 2014, 15:59
Message
#1
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Bonjour,
Avant de me lancer dans un développement de module qui va demander pas mal de travail je pense, je souhaite savoir si quelqu'un aurait vu déjà passer ce genre de contrib. J'ai cherché mais rien trouvé. Par défaut, si un client veut s'inscrire à une "notification de produit", il doit se logguer sur son compte client. Ce que je cherche à faire c'est à rendre indépendant du compte client la fonction "notification de produit". Dans mon idée, si un produit est à stock 0, à la place du bouton "ajouter au panier" on aurait le lien "Me prévenir..." qui ouvre une fenêtre en demandant le nom, prénom et le mail. Dans la table products_notifications, on aurait ainsi 3 colonnes supplémentaires : firstname_notification, lastname_notification, email_notification. Comment je gérerai ensuite ces données pour notifier les clients, ça se sera un autre travail dans un second temps. Dans un premier temps, il me faut enregistrer un nom, prénom et email lors d'une demande de notification. Est-ce que quelqu'un aurait déjà vu passer ce genre de contrib ? Ce message a été modifié par mickael34 - 17 Sep 2014, 20:45. -------------------- Sur OsCommerce 2.2
|
|
4 Sep 2014, 17:43
Message
#2
|
|
Ceinture marron OSC Groupe : Modérateurs Messages : 1543 Inscrit : 30-May 06 Lieu : Vichy (03) Membre no 10583 |
-------------------- Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse) Config 2 en local avec UwAmp : Osc Phoenix |
|
4 Sep 2014, 17:52
Message
#3
|
|
Ceinture noire OSC Groupe : TechDev Messages : 2757 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
|
|
4 Sep 2014, 19:23
Message
#4
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Merci beaucoup !
Je pense que d'après la description de la contrib je devrais arriver à mes fins -------------------- Sur OsCommerce 2.2
|
|
16 Sep 2014, 14:46
Message
#5
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Bonjour,
Je reviens sur mon post car j'ai un petit souci sur une partie du code de la contribution. Après quelques arrangements, celle-ci fonctionne sous ma MS2.2 Par contre je bloque sur ce problème : Dans mon fichier categories.php, en dessous de Code } elseif ($action == 'update_product') { J'ai ajouté ce code : Code // http://www.linuxuk.co.uk - Notify when back in stock. Start $current_stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . (int)$_GET['pID'] . "'"); $current_stock = tep_db_fetch_array($current_stock_query); if ($current_stock['products_quantity'] < 1) { if ($_POST['products_quantity'] > 0) { $audience = array(); $products_query = tep_db_query("select distinct sn_name, sn_email, sn_P_name from " . TABLE_STOCK_NOTIFICATION ." where product_id in ( '" . (int)$products_id . "')"); while ($products = tep_db_fetch_array($products_query)) { $audience[$products['customers_id']] = array('name' => $products['sn_name'], 'email_address' => $products['sn_email'], 'product_name' => $products['sn_P_name']); } $product_query_raw = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description, pd.products_url, p.products_quantity, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and p.products_id = '" . (int)$_GET['pID'] . "'"); $product = tep_db_fetch_array($product_query_raw); $customers_query_raw = tep_db_query("select distinct sn_name, sn_email, sn_P_name from " . TABLE_STOCK_NOTIFICATION ." where product_id in ( '" . (int)$products_id . "')"); $customer = tep_db_fetch_array($customers_query_raw); reset($audience); while (list($key, $value) = each ($audience)) { $mimemessage = new email(array('X-Mailer: osCommerce System Mailer')); // Build the mnessage if (EMAIL_USE_HTML == 'true') { //$mimemessage->add_html(HTML_NOTIFICATION1 . $value['name'] . HTML_NOTIFICATION2 . STORE_NAME . HTML_NOTIFICATION3 . $products_id . '">' . $product['products_name'] . HTML_NOTIFICATION4 . '">' . STORE_NAME . HTML_NOTIFICATION5 . $product['products_name'] . HTML_NOTIFICATION6 . $product['products_name'] . HTML_NOTIFICATION7 . STORE_NAME . HTML_NOTIFICATION8 . $products_id . '">' . $product['products_name'] . HTML_NOTIFICATION9 . STORE_NAME); $mimemessage->add_html(HTML_NOTIFICATION1 . $value['name'] . HTML_NOTIFICATION2 . HTML_NOTIFICATION3 . $products_id . '">' . $product['products_name'] . HTML_NOTIFICATION4 . HTML_NOTIFICATION5 . HTML_NOTIFICATION9); } else { $mimemessage->add_text(TEXT_NOTIFICATION1 . $value['name'] . TEXT_NOTIFICATION2 . STORE_NAME . TEXT_NOTIFICATION3 . $product['products_name'] . TEXT_NOTIFICATION4 . $product['products_name'] . TEXT_NOTIFICATION5 . $product['products_name'] . TEXT_NOTIFICATION6 . STORE_NAME . TEXT_NOTIFICATION7 . $product['products_name'] . TEXT_NOTIFICATION8 . STORE_NAME); } $mimemessage->build_message(); $mimemessage->send($value['name'], $value['email_address'], STORE_NAME, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT . $product['products_name'], $email_order); // delete from the Alerts Table. tep_db_query("delete from " . TABLE_STOCK_NOTIFICATION . " where product_id = '" . $products_id . "' "); } } } // http://www.linuxuk.co.uk - Notify when back in stock. End Cela permet d'envoyer un mail au client lorsque le produit est de nouveau disponible en stock. Le mail part bien SAUF SI plusieurs personnes ont demandé à être notifié par mail ! C'est seulement le dernier "inscrit" qui reçoit le mail. Pour les autres rien ne part. J'ai un peu de mal à comprendre le code ci-dessus. D'avance merci pour votre aide. -------------------- Sur OsCommerce 2.2
|
|
17 Sep 2014, 20:47
Message
#6
|
|
Ceinture orange OSC Groupe : Membres Messages : 181 Inscrit : 3-January 08 Membre no 20263 |
Autant pour moi...
En fait ce bout de code a été repris d'une autre contrib. De ce fait : Code $products_query = tep_db_query("select distinct sn_name, sn_email, sn_P_name from " . TABLE_STOCK_NOTIFICATION ." where product_id in ( '" . (int)$products_id . "')"); while ($products = tep_db_fetch_array($products_query)) { $audience[$products['customers_id']] = array('name' => $products['sn_name'], 'email_address' => $products['sn_email'], 'product_name' => $products['sn_P_name']); doit être modifié ainsi : Code $products_query = tep_db_query("select distinct snid, sn_name, sn_email, sn_P_name from " . TABLE_STOCK_NOTIFICATION ." where product_id in ( '" . (int)$products_id . "')"); while ($products = tep_db_fetch_array($products_query)) { $audience[$products['snid']] = array('name' => $products['sn_name'], 'email_address' => $products['sn_email'], 'product_name' => $products['sn_P_name']); Ca marche ! -------------------- Sur OsCommerce 2.2
|
|
23 Jul 2016, 16:12
Message
#7
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 97 Inscrit : 25-May 08 Lieu : carcassonne Membre no 21917 |
Bonjour à tous
@mickael34 à priori tu as choisi la première contrib qui fait l'envoi d'email au client. Comment s'est passé la migration en v2.2 ? Le code corrigé que tu indiques est-il de la contrib ou d'une autre (il est indiqué autre contrib dans ton post). Existe-t-il une meilleure contrib pour cette tâche ? J'ai cherché... Merci -------------------- Version oscommerce: V2.2 Rc1
Contrib : STS V4.5.8 (Simple Template System), Dynamic Sitemap V4.0, Easy Meta Tag for STS, LightBox 1, visible_contries 1.2b, Agree2Terms, trackingcolissimo+ups1.0, easypopulate, Ultimate_SEO_URLs_v2-2, Mail Validation 2.1a, ot_discount_coupon_codes_3_31, AntiRobotRegistrationValidation-2.9, customers_extra_fields_EXTENDED, Dynamic Sitemap and STS, Featured Products 161 with STS 453 instructions, free shipping by cats v1.5, Mail Validation 2.1a, ot_discount_coupon_codes_3_31, PDF_Customer_Invoice_v1.1 + Add-ons, PRODUCT QUICK EDIT V2.1, Search_Price_Range_Pulldown_Menu_1.1.1, Simple_Down_For_Maintenance, Simple_Visitor_Newsleter_With_HTML_Support-1.0 |
|
Version bas débit | Nous sommes le : 29th March 2024 - 02:55 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |