在新订单邮件中添加sku(或产品名称)的产品链接

时间:2013-01-22 21:43:30

标签: php email magento

HY, 我正在尝试添加一个链接到客户在magento中放置新订单时获得的新订单电子邮件(我的版本1.6.2.0)

我已编辑/public_html/app/design/frontend/base/default/template/email/order/items/order/default.phtml 以下内容:

<?php $_item = $this->getItem() ?>
<?php $_order = $this->getItem()->getOrder() ?>
----
<!-- Start of edit file -->  
<a href="<?php echo $this->getProductUrl($_item) ?>">
<?php echo $this->htmlEscape($this->getSku($_item)) ?></a>

当我收到sku栏中的确认电子邮件时,颜色从黑色(默认css)变为浅蓝色链接,但它没有任何链接属性,如下所示: email_photo 我也尝试过:

<a href="<?php echo $this->getUrlPath($_item) ?>">
<?php echo $this->htmlEscape($this->getSku($_item)) ?></a>

我最终得到同样的东西。

谁能告诉我我做错了什么? 感谢。

3 个答案:

答案 0 :(得分:4)

排队

<a href="<?php echo $this->getUrlPath($_item) ?>">

$这是块* Mage_Sales_Block_Order_Email_Items_Order_Default *的实例。它没有函数getUrlPath()或getProductUrl。

您应该使用$ _item变量来获取产品对象,然后使用它来获取其URL

$_item->getProduct()->getProductUrl()

答案 1 :(得分:0)

我之前尝试过这段代码:

<a href="<?php echo $_item->getProduct()->getUrlPath() ?>"><?php echo $this->htmlEscape($this->getSku($_item)) ?></a>

答案 2 :(得分:0)

Magento 2

要在您的订单电子邮件中将产品名称与其产品页面链接,请编辑以下文件:

Magento_Sales/templates/email/items/order/default.phtml
Magento_Sales/templates/email/items/invoice/default.phtml
Magento_Sales/templates/email/items/shipment/default.phtml

要获取产品网址,请使用以下代码段并将其插入到链接的href属性中。

<?= $_item->getProduct()->getProductUrl(); ?>

例如,

<p class="product-name"> <a href="<?= $_item->getProduct()->getProductUrl(); ?>"> <?= $block->escapeHtml($_item->getName()); ?> </a> </p>

该代码段的结果将是Magento电子邮件中可点击的产品名称。

教程来自:https://themes.email/magento/product-links-in-magento-order-emails.html