0

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);

さて、ここで私は電子メールを送信しましたが、製品名と会社名を含めるだけで問題なく動作しますが、どのように取得するのかわかりませんか?

4

1 に答える 1

0

チェックアウトで利用可能な製品には、すべての属性が含まれていません。チェックアウト/カートセクションで利用できる属性を定義する必要があります。config.xml

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

このトリックは、Brim LLC の Tim Milhouse のものです。

編集: トランザクションメールに変数を含める...名前である製品属性を作成したとしましょう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>
于 2012-03-15T07:10:35.427 に答える