0

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>

我最终得到了同样的结果。

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

4

3 回答 3

5

排队

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

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

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

$_item->getProduct()->getProductUrl()
于 2013-01-22T21:58:19.227 回答
0

我之前尝试过这段代码:

<a href="<?php echo $_item->getProduct()->getUrlPath() ?>"><?php echo $this->htmlEscape($this->getSku($_item)) ?></a>
于 2013-01-22T21:59:48.683 回答
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

要获取产品 URL,请使用以下代码片段并将其插入链接的 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

于 2019-07-05T13:10:01.563 回答