在magento中编辑内置(?)交易电子邮件变量

时间:2014-12-24 05:58:05

标签: php email magento magento-1.7

我是Magento的新手,我在Magento堆栈交换中的同一question没有得到适当的回复,所以我现在正在强大的SO上发布这个。

背景

我在Magento CE 1.7商店中安装了一个Abandoned Cart扩展程序,我在配置发送的交易电子邮件时遇到问题,以提醒人们他们的废弃购物车。

以下是默认电子邮件模板的相关部分:

<p><strong>Hello {{var customer_name}},</strong></p>
<p>Thank you for stopping by {{var website_name}} and considering us for your purchase. We noticed that during your visit to our store you placed the following item(s) in your shopping cart, but did not complete the transaction.</p>
<p>Shopping Cart Contents: </p>
<p>{{var products}}</p>

{{depend real_quote}}
<!-- <p><a href="{{var recover_url}}" >Recover </a><br> (url:{{var recover_url}})</p> -->
{{/depend}} 

{{depend coupon}}
    <p>Please use this coupon: {{var coupon}} to avail 5% discount on your order value</p>
    <p>Please note that it expires in {{var coupon_days}} day(s)</p>
{{/depend}}

请注意电子邮件中使用的{{var products}}。这件事在电子邮件中打印产品详细信息(名称,图像,产品链接等)。

问题

我需要更改打印的产品网址。我有一些分析代码可以附加到这些网址,但我无法确定定义此var products的位置以改变其行为。

我尝试过的事情

  • 尝试将{{var product_name}}和其他产品变量打印为 定义here,但它们最终都是空格
  • 找到一个好的resource,其中包含有关更改这些信息的信息 变量,但无法弄清楚如何使用它来改变它 产品变量
  • 仅在{{var products}}之后添加utm参数才能获取utm文本 在产品详细信息表之后(在某处定义为产品)。

我甚至不确定这个{{var products}}是内置变量还是扩展名定义的内容?

编辑:products不是自定义变量。不知道这是否会有所帮助。

1 个答案:

答案 0 :(得分:0)

自己想出来,想发布答案。

生成products的代码位于我为发送购物车电子邮件而安装的第三方扩展程序的模型中。我安装了太多扩展程序,并且无法轻松找到这个扩展程序。

我了解所有与扩展程序相关的代码都在app/code/local/<extension-name>/Cartalert中。 (Cartalert目录的名称会有所不同,具体取决于扩展名)。我通过grep在我的存储库中搜索“保存并发送”文本来完成此操作,该文本在CMS中用于手动发送这些电子邮件。

grep -Ril "Save and Send out" <directory>

This是我的参考。另外,如果您正在处理像我这样的自定义电子邮件,this会有所帮助。

接下来,我转到生成这些警报的模型,该模型位于app/local/<extension-name>/Cartalert/Model/Cartalert.php

这是我必须改变的相关代码。

for ($i=0, $n=sizeof($prod); $i<$n; $i+=2){
            $product = Mage::getModel('catalog/product')
                ->setStoreId($this->getStoreId())
                ->load($prod[$i]);
            if(in_array($product->getStatus(),$status)&&in_array($product->getVisibility(),$visibility)&&$product->isSaleable())
            {
                $url = $baseUrl . 'catalog/product/view/id/'.$prod[$i];
                $name = $prod[$i+1];

我必须将参数附加到$url字符串,然后完成了工作。从来没有想过grep比文档更能帮助我......:D