【问题标题】:Editing an inbuilt(?) transactional email variable in magento在 magento 中编辑内置(?)事务性电子邮件变量
【发布时间】:2015-02-22 07:04:29
【问题描述】:

我是 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}}。这个东西打印电子邮件中的产品详细信息(名称、图像、产品链接等)。

问题

我需要更改打印的产品网址。我有一些分析代码要附加到这些 URL 上,但我不知道在哪里定义了这个 var products 来改变它的行为。

我尝试过的事情

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

我什至不确定这个{{var products}} 是内置变量还是扩展定义的东西?

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

【问题讨论】:

    标签: php email magento magento-1.7


    【解决方案1】:

    我自己想通了,并想发布答案。

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

    我了解到所有扩展相关的代码都在app/code/local/&lt;extension-name&gt;/Cartalert中。 (根据扩展名,Cartalert 目录的名称会有所不同)。我通过greping 通过我的存储库搜索“保存并发送”文本来完成此操作,该文本在 CMS 中用于手动发送这些电子邮件。

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

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

    接下来我去了生成这些警报的模型,它位于app/local/&lt;extension-name&gt;/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

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 2014-03-20
      • 2012-12-04
      相关资源
      最近更新 更多