название продукта описание компании, использующей корзину sesssion magento - PullRequest
0 голосов
/ 15 марта 2012

Я пытаюсь получить информацию о продукте в onepage.php, но мне не удалось. Я пробовал много кодов, но я не получаю его. Нужно ли мне получить это с помощью сессий? Кто-нибудь знает код, как мне получить информацию о продукте на странице onepage.php?

Хорошо, сначала, когда я щелкаю купить продукт, он перенаправляет на checkout / cart /, что означает, что на этой странице есть cart.phtml и cart.php. У меня есть общая сумма цены на название продукта. Хорошо, после того, как я щелкну «Оформить заказ», он будет перенаправлен на checkout / onepage / ... onepage.php и onepage.phtml

Хорошо, теперь я установил электронное письмо в onepage.php, чтобы каждый раз, когда пользователь нажимал кнопку «Оформить заказ» на странице корзины, при загрузке onepage.php он отправлял электронную почту.

Хорошо, теперь внутри электронного письма я хотел бы добавить информацию о продукте, такую ​​как название продукта количество название компании. Здесь я выполнил все шаги, но не могу получить информацию о продукте. Продукт будет продуктом, выбранным пользователем для оформления заказа.

here is my simple email template:
    $to = "$email";
    $from = "test@test.com";
    $subject = "email test";
    //begin of HTML message
    $message = <<<EOF
<html>
  <body bgcolor="#DCEEFC">
    <center>
        <b>email test</b> <br>
        <h1><font color="red">Your Coupon Code:</font>$letters$random_chars<br></h1>

<h1>Product Name : $productname</h1>
<h1>Company Name : $comname</h1>
    </center>

  </body>
</html>
EOF;
$headers  = "From: $from\r\n";
$headers .= "Content-type: text/html\r\n";


mail($to, $subject, $message, $headers);

ну, вот я и отправил письмо, в котором все в порядке, просто нужно указать название продукта и название компании, но я не понимаю, как его получить?

1 Ответ

0 голосов
/ 15 марта 2012

Продукт, который доступен в кассе, не содержит всех атрибутов.Вы должны определить, какие атрибуты будут доступны в разделе оформления заказа / корзины из config.xml

<sales>
  <quote>
    <item>
      <product_attributes>
        <product_attribute_1/>
        <product_attribute_2/>
      </product_attributes>
    </item>
  <quote>
<sales>

Трюк принадлежит Тиму Милхаусу из Brim LLC

РЕДАКТИРОВАТЬ: Включить переменные в транзакционные электронные письма ... Допустим, вы создали атрибут продукта с именем product_origin

  • Создайте шаблоны транзакционных электронных писем и измените их следующим образом:
<html>
   <h1>Dear {{htmlescape var=$order.getCustomerName()}}</h1>
   <p>Thank you choosing {{var store.getFrontendName()}}</p>
   <h2>Here is the order details</h2>
   {{block type='core/template' area='frontend' template='/emails/product_info.phtml' order=$order}}
</html>
  • Создать шаблон продукта product_info.phtml
# File path : /app/design/frontend/[YOUR_NAMESPACE]/[YOUR_THEME]/template/emails/product_info.phtml
 <?php $_order = $this->getOrder(); ?>
 <table>
   <tr>
     <td>Product Name</td>
     <td>Price</td>
     <td>Product Origin (Attribute)</td>
   </tr>
   <?php foreach($_order->getAllItems() as $_item): ?>
   <tr>
     <td><?php echo $_item->getName() ?></td>
     <td><?php echo $_order->formatPrice($_item->getPrice()) ?></td>
     <td>
        <?php
           $_product = Mage::getModel('catalog/product');
           $_product ->load($_item->getProductId());
           echo $_product->getProductOrigin(); // product attribute, if attribute name productorigin, therefore should be getProductorigin
        ?>
     </td>
   </tr>
   <?php endforeach ?>
 </table>
...