Carrinho de compras para e -mail
-
20-09-2019 - |
Pergunta
eu uso SimpleCartJs Para fazer um carrinho de compras no meu site, onde você pode selecionar elemento e enviá -lo para o seu carrinho ... Próximo passo, será o processo de checkout, mas, por motivo comercial, nenhum processo de checkout anexará e um formulário simples com nome e email e a data para a coleta de pedidos será solicitada. Agora, o pedido deve ser enviado para um endereço de e -mail (na empresa) que preencherá o pedido.
A pergunta: como enviar o conteúdo do carrinho para um corpo de e -mail ou como anexo?
Solução
Você deve adicionar um novo método de check -out ao 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);
}
Isso criará um novo elemento de formulário e enviará dados de carrinho para sendjs.php. Ative este método de check -out, configurando -me.
Agora crie um novo arquivo 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');
?>
Isso enviará a mensagem de email e redirecionará para a página de agradecimento.html que você também deve criar.
Outras dicas
Isso adicionará o pedido de e -mail, campos suplimentares ao usuário "telefone e endereço",
Verifique durante o checkout O usuário está registrado, se não, será redirecionado para o registro.
O carrinho de compras apenas após o pedido de e -mail bem -sucedido enviado.
Enviará 2 e-mail para o proprietário da loja "shop@domain.com" e para o e-mail dos usuários para que ele veja o pedido
Precisará fazer uma nova página para a parte de agradecimento depois que a ordem bem -sucedida for feita
SimpleCartJs: A volta da linha 288 está na minha
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; } ?>
Você precisará se registrar mais o plug -in do WordPress para adicionar os 2 fiels extras ao usuário "Telefone e endereço"
Não deixe de verificar
Adicione o campo de registro
Adicionar campo de perfil
Requeridos