Una ayuda , cable o lo que sea, para este tema en PHP SOLVE

Iniciado por Man-In-the-Middle, 30 Septiembre 2014, 15:13 PM

0 Miembros y 1 Visitante están viendo este tema.

Man-In-the-Middle

Holas!! El punto puede ser simple, pero para mi no lo es! jjajaj,
Estoy trabajando con simplecart, la parte que me tiene jodido es el send form, que al final lo he podido solucionar, el tema radica que me gustaría darle un formato mas pro, a los email, como el original  adjunto copia,

Alguien me puede explicar o apoyar o como buscarlo en google como manejar el php con css dentro sel send form, para tener ese formato de template, o algo parecido,  se agradece de antemano,  Adjunto El PHP del send form, asi como mi reporte y el original, (no vale reírse eh)


PHP
Código (php) [Seleccionar]
<?php

/* 
*  SimpleCartjs email

*/ 


// DATA FROM EMAIL FORM INPUT FIELDS
$first_name $_POST['first_name'];
$last_name $_POST['last_name'];
$email $_POST['email'];
$phone $_POST['phone'];
$address $_POST['address'];
$postcode $_POST['postcode'];
$comment $_POST['comment'];



// STARTING EMAIL BODY
$body '';
$body .= '<html><body>';
$body .= 'Order submission and details.<br /><br />';
$body .= '<img src="https://lh6.googleusercontent.com/-rid5-_qM_bU/VCWj5yuJDII/AAAAAAAAAGI/_xacTWTKXfU/s350/logo5.png" alt="Woven And Folks" />';
$body .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$body .= "<tr style='background: #6c96df;'><td><strong>ORDER BY:</strong> </td><td>";
$body .= "<tr style='background: #eee;'><td><strong>First Name:</strong> </td><td>" .$_POST['first_name'] . "</td></tr>";
$body .= "<tr style='background: #eee;'><td><strong>Last Name:</strong> </td><td>" $_POST['last_name'] . "</td></tr>";
$body .= "<tr style='background: #eee;'><td><strong>Email:</strong> </td><td>" $_POST['email'] . "</td></tr>";
$body .= "<tr style='background: #eee;'><td><strong>Phone:</strong> </td><td>" $_POST['phone'] . "</td></tr>";
$body .= "<tr style='background: #eee;'><td><strong>Address:</strong> </td><td>" $_POST['address'] . "</td></tr>";
$body .= "<tr style='background: #eee;'><td><strong>Postal Code:</strong> </td><td>" $_POST['postcode'] . "</td></tr>";
$body .= "<tr style='background: #eee;'><td><strong>Comments:</strong> </td><td>" $_POST['comments'] . "</td></tr>";
$body .= "<tr style='background: #9fb4f8;'><td><strong>ORDER DETAILS:</strong> </td><td>";

// LOOPING FOR EACH ITEMS IN SHOPPING CART DATA
$curr $_POST['currency'];

$content $_POST;
// STARTING THE LOOP
for($i=1$i $content['itemCount'] + 1$i++) {
$name 'item_name_'.$i
$option 'item_options_'.$i;  
$quantity 'item_quantity_'.$i;
$price 'item_price_' .$i
// CALCULATE MULTIPLE ITEMS PER QUANTITY
$amount $content[$quantity]*$content[$price];
$grandTotal += $amount;
          

// DISPLAY RESULT FOR EACH ITEM
$body .= '=============================================================<br />';
$body .= '<b>Product #'.$i.'</b><br />';
$body .= 'Item Name: '.$content[$name].'<br />';
$body .= 'Item Description: '.$content[$option].'<br />';

$body .= 'Item Quantity: '.$content[$quantity].'<br />';
$body .= 'Item Price: '.$curr.' '.number_format($content[$price], 2'.''').'<br />';
$body .= 'Item Amount: '.$curr.' '.number_format($amount2'.''').'<br />';
$body .= '=============================================================<br />';
$body .= '<br />';





// ENDING THE LOOP

$shipping $_POST['shipping'];
$tax $_POST['tax'];
$body .= 'Sub Total: $'.number_format($grandTotal2'.''').'<br />';
$body .= 'Shipping Charges: '.$curr.' '.number_format($shipping2'.''').'<br />';
$body .= 'Tax: '.$curr.' '.number_format($tax2'.''').'<br />';

// CALCULATE SUB TOTAL ITEMS 
$sub_total += $grandTotal

// CALCULATE TOTAL
$grand_total $sub_total $shipping $tax;

$body .= "<tr style='background: #e8c090;'><td><strong>ORDER SUMMARY:</strong> </td><td>";
// DISPLAY THE TOTALS/SHIPPING/TAX
$body .= '=============================================================<br />';
$body .= '<b>TOTAL: '.$curr.' '.number_format($grand_total2'.''').'</b><br />';
$body .= '=============================================================<br />';
$body .= '<br />';

// LOADING POST DATA FOR PAYMENT SECTION
$body .= "<tr style='background: #e890d0;'><td><strong>PAYMENT METHODS:</strong> </td><td>";
$bank1 $_POST['bank1'];
$bank1_acc_no $_POST['bank1_acc_no'];
$bank1_acc_name $_POST['bank1_acc_name'];

// DISPLAY PAYMENT METHOD DATA
$body .= '=============================================================<br />';
$body .= 'Bank: '.$bank1.'<br />';
$body .= 'Account number: '.$bank1_acc_no.'<br />';
$body .= 'Name on Account: '.$bank1_acc_name.'<br />';

// CONTINUE WITH AVAILABLE VARS

$body .= '=============================================================<br />';
$body .= '<br />';

// LOADING POST DATA FOR NOTES
$note1 $_POST['note1'];
$note_detail1 $_POST['note_detail1'];

// OUTPUT VARS HERE FOR GENERAL NOTES
$body .= "<tr style='background: #adf89f;'><td><strong>GENERAL NOTES:</strong> </td><td>";
$body .= '=============================================================<br />';
$body .= ''.$note1.'<br />';
$body .= ''.$note_detail1.'<br />';

// CONTINUE WITH AVAILABLE VARS

$body .= '=============================================================<br />';
$body .= '<br />';
$body .= '</body></html>';

// BEGIN TO SEND EMAIL
// GRABS POST DATA FOR SUCCESS/ERROR/SHOP URLS & EMAIL
$shop_thankyou $_POST['shop_thankyou'];
$shop_sendFail $_POST['shop_sendFail'];
$shop_email $_POST['shop_email'];
// SENDERS EMAIL GRABS FROM THE FORM
$to $email

$subject 'Order Submission';

// BECAUSE WE WANT THE EMAIL TO OUTPUT IN HTML
// MAIL HEADERS MUST HAVE CONTENT-TYPE
$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
// EMAIL TO SENDER
$headers .= 'To: '.$first_name.' '.$last_name.' <'.$email.'>' "\r\n";
// SETTING THE REPLY-TO
//$headers .= 'Reply-To: '.$shop_bizname.' <'.$shop_email.'>' . "\r\n";
// EMAIL FROM THE OWNER
$headers .= 'From: '.$shop_bizname.' <'.$shop_email.'>' "\r\n";
// SEND A COPY TO OWNER
$headers .= 'Cc: '.$shop_email.'' "\r\n";

// SEND THE MAIL
mail($to$subject$body$headers);
    
// IF THE EMAIL CAN NOT SEND
if(!mail) {
  
Header('Location: http://'.$shop_sendFail.''); // REDIRECTS TO ERROR PAGE
} else {
  
// SEND THE MAIL + REDIRECTS
  
Header('Location: http://'.$shop_thankyou.''); // REDIRECTS TO SUCCESS PAGE AFTER
}

?>


Mi Reporte


El Original



Como uso el CSS en el php, lo puedo manejar en una pagina web, pero no me entra como mandarlo  Sl2

MinusFour

No hay nada en especial para manejar CSS en PHP. Puedes imprimir los estilos en la cabecera del documento html:

Código (php) [Seleccionar]

echo '<head><style type="text/css"> .estilo { } </style></head>';


O haces el CSS en un archivo .css y lo linkeas con linkrel
Código (php) [Seleccionar]

echo '<link rel="stylesheet" type="text/css" href="archivo.css">';

Man-In-the-Middle

#2
Gracias Bro, pero la verdad, no la veo,  por que estoy un poco tostado ya,  me puedes dar un ejemplo  simple en mi código como base para poder arrancar de ahí, por que como veras solo he llegado meter una tabla, poner colores , pero no veooo mas,

Como puedo llegar a poner un Top header azul con sombra, en el informe??? , toda mi vida he trabajado bajo html y no hay problema, pero el hecho de que salga del php como un send form, me tiene loco, .. se agradece, nuevamente.

Ps, Tengo que aclarar, que todo lo tengo que hacer internamente dentro del mismo php, lo cual no tengo opción de trabajar con css externo.

MinusFour

No tengo idea de como se hace el shadow desde CSS, nunca me he puesto a explorar las cosas del CSS bien.

Pero por ejemplo, al principio tienes:

Código (php) [Seleccionar]

$body .= '<html><body>';


Pues agregar aquí el header y el style:

Código (php) [Seleccionar]

$body .= '<html><head><style type="text/css"> .formHeader { background-color: #41BACC; } </style></head><body>';


Y luego agregas el estiilo a una etiqueta:

Código (php) [Seleccionar]

$body .= '<tr class="formHeader"></tr>';
$body .= "<tr style='background: #6c96df;'><td><strong>ORDER BY:</strong> </td><td>";

Man-In-the-Middle

Gracias Bro, con eso mas que suficiente!, mas claro el panorama!

JorgeEMX

Yo te recomendaría dejar de hacer eso (usar html con php), no tienen ningún sentido. Podrías usar mejor DOMPDF https://github.com/dompdf/dompdf , hacer tu template con HTML + CSS y PHP (sólo para obtener datos) y después hacer tu Reporte en PDF.

Man-In-the-Middle

Es muy buena tu opcion grax!, pero mi tema es mas de solo poder mandar un buen invoice,  trabajo sobre googlehost, blogger y por ahi un free server para el php(que no me consume nada)!  Thanks