You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tectite Form mail邮件模板中传递并展示动态数组内容

Tectite Form Mail 动态数组传递到模板的实现方案

Tectite 原生实现步骤

Tectite Form Mail 本身支持自定义变量传递与模板解析,可通过以下操作实现需求:

  • PHP脚本侧做数组扁平化处理
    Tectite 默认不支持直接传递数组类型变量,需要先将动态数组拆分为带统一前缀的独立键值对,同时加入合法输入白名单,参考代码:
    // 你的动态数组
    $custom_data = [
        'order_id' => '20240521001',
        'amount' => '199.00',
        'pay_status' => '已支付'
    ];
    // 遍历生成带前缀的表单变量
    foreach ($custom_data as $key => $value) {
        $_POST['custom_'.$key] = $value;
        // 加入Tectite合法输入白名单
        $VALID_HTML_INPUTS[] = 'custom_'.$key;
    }
    
  • 模板侧解析输出变量
    若你使用的Tectite版本支持内置模板遍历语法,可直接在example1.email.html中过滤带前缀的变量批量输出:
    <div class="custom-data">
      <h3>订单信息</h3>
      <table border="1" cellpadding="5">
        {foreach from=$ALL_FIELDS item=field}
          {if str_starts_with($field.name, 'custom_')}
          <tr>
            <td>{$field.name|replace:'custom_':''}</td>
            <td>{$field.value}</td>
          </tr>
          {/if}
        {/foreach}
      </table>
    </div>
    

    低版本Tectite不支持遍历语法,需提前将所有可能出现的数组键预定义到模板中,用$custom_键名格式的占位符逐个输出。

替代工具推荐

若Tectite的能力无法满足你的灵活解析需求,可使用以下更通用的邮件处理工具:

  • PHPMailer:轻量级PHP邮件发送库,无框架依赖,可搭配任意PHP模板引擎(如Twig、Smarty、原生PHP模板)完成数组解析渲染后再发送邮件,自由度高。
  • Symfony Mailer:适合Symfony生态项目,与Twig模板深度集成,支持直接传递任意类型的变量、数组到模板,语法更简洁。

内容的提问来源于stack exchange,提问作者Webdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:15:03