Pregunta

simplecartjs para hacer un carrito de la compra en mi sitio web, donde puede seleccionar el elemento y enviarlo a su carrito ... siguiente paso, será el proceso de pago, pero por razones de negocios, sin proceso de pago añadirá, y un sencillo formulario con nombre y correo electrónico y fecha de recogida orden será preguntar. Ahora bien, el orden debe ser enviada a una dirección de correo electrónico (en la empresa) que se complete el siguiente orden.

La pregunta: ¿cómo enviar el contenido de la cesta a un cuerpo del correo electrónico o como attachement

¿Fue útil?

Solución

Usted debe agregar nuevo método de pago para simplecartjs:

me.emailCheckout = function() {    

    itemsString = "";
    for( var current in me.items ){ 
        var item = me.items[current];
        itemsString += item.name + " " + item.quantity + " " + item.price + "\n";
    }   

    var form = document.createElement("form");
    form.style.display = "none";
    form.method = "POST";
    form.action = "sendjs.php";
    form.acceptCharset = "utf-8";
    form.appendChild(me.createHiddenElement("jcitems", itemsString));
    form.appendChild(me.createHiddenElement("jctotal", me.total));
    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form);
}

Esto creará nuevo elemento de formulario y enviar los datos al carrito sendjs.php. Habilitar este método de pago configurando me.checkoutTo = 'Correo electrónico' en las opciones SimpleCart.

Ahora cree un nuevo archivo sendjs.php:

<?php
    $to      = 'you@example.com';
    $subject = 'the subject';
    $jcitems = $_POST['jcitems'];
    $headers = 'From: webmaster@example.com' . "\r\n" .
               'Reply-To: webmaster@example.com' . "\r\n" .
               'X-Mailer: PHP/' . phpversion();
    mail($to, $subject, $jcitems, $headers);
    Header('Location: thankyou.html');
?>

Esto enviará el mensaje de correo electrónico y redirigir a la página gracias.html también debe crear.

Otros consejos

Esto agregará el fin de correo electrónico, campos suplimentary para el usuario "Teléfono y Dirección",

Comprobar durante la partida de los que el usuario se ha registrado, si no va a redirigir a registro.

borrará Cesta de la compra sólo después de pedido por correo electrónico enviado exitosa.

2 Enviará correo electrónico al dueño de la tienda "shop@domain.com" y para los usuarios de correo electrónico por lo que ve el orden

tendrá que hacer una nueva página para la parte de agradecimiento después de la orden exitosa se hace

simplecartjs: alrededor de la línea 288 está en la mía

me.emailCheckout = function() {    

    itemsString = "";
    for( var current in me.items ){ 
        var item = me.items[current];
        itemsString += item.name + " " + item.quantity + " " + item.price + "\n";
    }   

    var form = document.createElement("form");
    form.style.display = "none";
    form.method = "POST";
    form.action = "sendjs.php";
    form.acceptCharset = "utf-8";
    form.appendChild(me.createHiddenElement("jcitems", itemsString));
    form.appendChild(me.createHiddenElement("jctotal", me.total));
    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form); 
}

sendjs.php

 <?php   require( dirname(__FILE__) . '/wp-load.php' );   
   /* cheking is user is logged in*/ 
   if ( is_user_logged_in() ) { 
    get_currentuserinfo(); /* getting user details*/

/* sending e-mail to the shop email */
        $to      = 'shop@domain.com';
        $subject = 'New Order';
        $jcitems =  " Name: " . $current_user->user_lastname .
                    " \n First Name: " . $current_user->user_firstname .
                    " \n Email: " . $current_user->user_email .
                    " \n Phone: " . $current_user->phone .
                    " \n Adress: " . $current_user->adress ;
        $headers = 'From: shop@domain.com' . "\r\n" .
                   'Reply-To: shop@domain.com' . "\r\n" .
                   'X-Mailer: PHP/' . phpversion();
        mail($to, $subject, $jcitems, $headers);

/* sending e-mail with the order to the users email*/        

        $to      = $current_user->user_email;
        $subject = 'Order copy from Domain';
        $jcitems =  "Thank you for you order. Below you have your ordered products".
                    " \n ORDER: \n\n " . $_POST['jcitems'] . "Total: " . $_POST['jctotal'] . " USD" .
                    "\n\n http://www.domain.com \nshop@domain.com";
        $headers = 'From: shop@domain.com' . "\r\n" .
                   'Reply-To: shop@domain.com' . "\r\n" .
                   'X-Mailer: PHP/' . phpversion();
        mail($to, $subject, $jcitems, $headers);
        /*Clearing the cart info after succesfull order is made*/
        setcookie ("simpleCart", "", time() - 3600);
        /*redirecting user to Thank you page from Wordpress*/
    Header('Location: http://www.domain.com/thank_you/');  } 

    else { /*sending user to register*/
        header( 'Location: http://www.domain.com/wp-login.php?action=register' ) ; exit; }   ?>

Necesitará Register Plus plug-in para WordPress para añadir el extra de 2 fiels para el usuario "de teléfono y dirección"
asegúrese de comprobar
Añadir Registro campo
Añadir perfil
Campo Requerido

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top