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

如何在PrestaShop 1.7中添加替代下单流程的自定义功能

PrestaShop 1.7 购物车页添加报价申请按钮实现方案

完全可以实现,推荐通过自定义模块的方式开发,不要修改核心代码,避免后续版本升级覆盖你的自定义逻辑,具体实现步骤如下:

1. 基础模块搭建

先创建一个自定义功能模块,注册购物车页面的渲染钩子和自定义控制器,用来承载报价功能的逻辑:

  • 注册displayShoppingCart或displayShoppingCartFooter钩子,用来在购物车页面渲染报价申请按钮,位置可以和默认结账按钮并列展示
  • 新增自定义控制器处理报价提交请求,无需修改原生结账流程的代码,完全和现有流程解耦

2. 按钮渲染

在钩子对应的模板文件里添加按钮代码,你可以自定义按钮的样式和文案,示例代码如下:

<a href="{$link->getModuleLink('你的模块名', 'requestquote')}" class="btn btn-secondary">
    申请报价
</a>

可以加判断逻辑,仅当购物车有商品时才展示该按钮,避免无效提交。

3. 核心功能实现

在自定义控制器的处理方法里,你可以直接调用PrestaShop内置的类来获取你需要的所有数据:

  • 获取购物车商品信息:通过Context::getContext()->cart对象调用getProducts()方法,即可拿到购物车所有商品的名称、SKU、数量、单价、自定义属性、小计金额等完整信息
  • 获取客户信息:通过Context::getContext()->customer对象可直接获取当前登录客户的姓名、邮箱、联系电话、收货地址等注册信息;如果是未登录的访客,可以在报价提交页增加表单引导用户填写必要的联系信息
  • 发送邮件:直接调用PrestaShop内置的Mail::Send()方法即可,无需额外配置邮件服务,会自动复用店铺后台已经配置好的发件规则。你可以提前在模块的mails/目录下创建多语言版本的报价申请邮件模板,方便后续调整内容格式

以下是控制器处理逻辑的示例代码:

public function postProcess()
{
    $cart = $this->context->cart;
    $customer = $this->context->customer;
    $products = $cart->getProducts();
    
    // 组装邮件变量
    $mailData = [
        'customer_name' => $customer->firstname.' '.$customer->lastname,
        'customer_email' => $customer->email,
        'products_list' => $products,
        // 其他需要展示在邮件里的字段
    ];
    
    // 发送报价申请邮件到店铺管理邮箱
    Mail::Send(
        $this->context->language->id,
        'quote_request', // 对应你自定义的邮件模板名
        $this->l('New quote request from customer'),
        $mailData,
        Configuration::get('PS_SHOP_EMAIL'),
        Configuration::get('PS_SHOP_NAME'),
        null,
        null,
        null,
        null,
        _PS_MODULE_DIR_.$this->name.'/mails/'
    );
    
    // 提交后跳转成功提示页
    Tools::redirect($this->context->link->getModuleLink($this->name, 'quotesuccess'));
}

4. 额外优化建议

  • 报价提交后可以返回成功提示,或者跳转到自定义的提示页面,告知用户工作人员会尽快联系
  • 可以增加提交频率限制,避免恶意用户反复提交无效请求
  • 后台可以增加报价申请的记录列表,方便管理人员查看历史申请,不用完全依赖邮件通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:27:00