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>
我最终得到同样的东西。
谁能告诉我我做错了什么? 感谢。
答案 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