Results 1 to 10 of 16

Hybrid View

  1. #1
    Join Date
    Jun 2008
    Posts
    328
    Plugin Contributions
    0

    help question Extract Transaction's Customer Info to be written to a file?

    I would like to "intercept" a transaction's customer details, in order to write it to a text file.

    I know that this is possible (because customer information is in the database, accessible by Zen Cart's PHP scripts, and displayable accordingly), but I don't know what is the correct approach to implement it?

    Should I hack an existing PHP file to pipe this information to the text file?

    Or is there already a "hook" somewhere in Zen Cart that allows me to do that more cleanly and/or elegantly?

    Thanks,
    Daniel

  2. #2
    Join Date
    Jun 2008
    Posts
    328
    Plugin Contributions
    0

    Default What is the PHP page that SENDS order confirmation email?

    I would like to tap/hook into the PHP page that sends order confirmation email, so that I can retrieve customer information from there and write it to a temporary file.

    Where do I do that?

    Thanks,
    Daniel

  3. #3
    Join Date
    Aug 2005
    Location
    Arizona
    Posts
    27,755
    Plugin Contributions
    9

    Default Re: What is the PHP page that SENDS order confirmation email?

    You can look in includes/modules/checkout_process.php about line 75

    Code:
    //send email notifications
    $order->send_order_email($insert_id, 2);
    $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_SEND_ORDER_EMAIL');
    Zen-Venom Get Bitten

  4. #4
    Join Date
    Jun 2008
    Posts
    328
    Plugin Contributions
    0

    Default Re: What is the PHP page that SENDS order confirmation email?

    Quote Originally Posted by kobra View Post
    You can look in includes/modules/checkout_process.php about line 75

    Code:
    //send email notifications
    $order->send_order_email($insert_id, 2);
    $zco_notifier->notify('NOTIFY_CHECKOUT_PROCESS_AFTER_SEND_ORDER_EMAIL');
    Thank you! I was mistakenly looking for it under /includes/modules/pages/checkout_process and I really needed this tip to know where to start. At least now I can start to see the light at the end of the tunnel.

    I understand that I now need to create a handler (observer class) for the NOTIFY_CHECKOUT_PROCESS_AFTER_SEND_ORDER_EMAIL event, right?

    I think that the following tutorial can be helpful:

    http://www.zen-cart.com/wiki/index.p..._API_Tutorials

    Any other tips you can recommend?

    Perhaps there already is a handler/observer/hook in the contrib section that can save me the time of development and testing?

    Thanks,
    Daniel

  5. #5
    Join Date
    Aug 2005
    Location
    Arizona
    Posts
    27,755
    Plugin Contributions
    9

    Default Re: Extract Transaction's Customer Info to be written to a file?

    You should be on the correct track with that and the correct file to start with
    Zen-Venom Get Bitten

  6. #6
    Join Date
    Jun 2008
    Posts
    328
    Plugin Contributions
    0

    Idea or Suggestion Re: Extract Transaction's Customer Info to be written to a file?

    Quote Originally Posted by kobra View Post
    You should be on the correct track with that and the correct file to start with
    Thank you. After some learning, I managed to create an auto_loader config file in includes/auto_loader/ (first step required).

    Then, the file containing the actual intelligence of my mod, needs to be created. It's an observer class file in includes/classes/observers/ in which the main trick, IMHO, is to find the right object to attach. After some learning and research (with the help of DrByte, thank you!) I concluded that that object should be 'orders' (please correct if I am wrong). Thus, the resulting observer.writecustinfo.php looks like:
    PHP Code:
    <?php
    /**
     * Observer class to write customer info to a temp file.
     */
    class writecustinfo extends base {

     
    /**  constructor method !
       *  Attaches our class to the $orders class and watches for 1 notifier event.
       */
      
    function writecustinfo() {
        
    $orders->attach($this, array('NOTIFY_CHECKOUT_PROCESS_AFTER_SEND_ORDER_EMAIL'));
      }

     
    /**   Actual Method to write data to file
       *  Called by observed class when any of our notifiable events occur
       *
       * @param object $class
       * @param string $eventID
       */
      
    function writetofile(&$class$eventID) {
        
    /**
        * Write the following fields to a file
        */

        
    orders->fields[orders_id];
        
    orders->fields[customers_id];
        
    orders->fields[customers_name];
        
    orders->fields[customers_company];
        
    orders->fields[customers_street_address];
        
    orders->fields[customers_suburb];
        
    orders->fields[customers_city];
        
    orders->fields[customers_postcode];
        
    orders->fields[customers_state];
        
    orders->fields[customers_country];
        
    orders->fields[customers_telephone];
        
    orders->fields[customers_email_address];
        
    orders->fields[customers_address_format_id];
        
    orders->fields[delivery_name];
        
    orders->fields[delivery_company];
        
    orders->fields[delivery_street_address];
        
    orders->fields[delivery_suburb];
        
    orders->fields[delivery_city];
        
    orders->fields[delivery_postcode];
        
    orders->fields[delivery_state];
        
    orders->fields[delivery_country];
        
    orders->fields[delivery_address_format_id];
        
    orders->fields[billing_name];
        
    orders->fields[billing_company];
        
    orders->fields[billing_street_address];
        
    orders->fields[billing_suburb];
        
    orders->fields[billing_city];
        
    orders->fields[billing_postcode];
        
    orders->fields[billing_state];
        
    orders->fields[billing_country];
      }
    }
    ?>
    Does the above make sense at all?

    Do you identify fundamental flaws in the code or in my understanding of the process?

    (for simplicty, I didn't include the actual file writing code, I will start working on it shortly).

    Thanks,
    Daniel

 

 

Similar Threads

  1. Replies: 1
    Last Post: 7 Jun 2010, 03:22 AM
  2. which file inserts customer info in DB?
    By g_force in forum Managing Customers and Orders
    Replies: 6
    Last Post: 12 Feb 2010, 08:11 PM
  3. Storing order/customer info in a flat file
    By mithaimate in forum General Questions
    Replies: 0
    Last Post: 30 Sep 2009, 10:29 AM
  4. What file holds all the order and customer info ?
    By snarkys in forum Managing Customers and Orders
    Replies: 3
    Last Post: 19 Nov 2006, 12:26 PM
  5. Can I extract a customer list???
    By Honeysmom in forum General Questions
    Replies: 2
    Last Post: 12 Jul 2006, 02:28 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg