dede订单确认页面如何修改或优化?

99ANYc3cd6
预计阅读时长 21 分钟
位置: 首页 DEDE建站 正文

这个页面是用户在购物流程中,在填写完收货信息后,最终确认订单并支付的关键环节,它主要展示了订单的摘要信息,包括商品列表、价格明细、收货地址等。

dede 订单确认页面
(图片来源网络,侵删)

下面我将从 页面位置、核心功能、文件结构、自定义修改 四个方面进行详细说明。


页面位置

在 DedeCMS 的默认模板中,订单确认页面通常位于以下目录:

/templets/default/dedecar/confirm.htm

  • /templets/: DedeCMS 的模板根目录。
  • /default/: 默认使用的模板风格目录。
  • /dedecar/: 这是 DedeCMS 内置的“购物车”模块的目录,包含了与购物流程相关的所有页面模板,如购物车页面 (carlist.htm)、订单确认页面 (confirm.htm)、支付成功页面 (paysuccess.htm) 等。

注意:如果你的网站使用了自定义的模板风格,那么路径会是 /templets/你的模板名称/dedecar/confirm.htm

dede 订单确认页面
(图片来源网络,侵删)

核心功能与页面元素

一个典型的订单确认页面包含以下几个核心部分:

  1. 收货信息区域

    • 功能:显示用户在前一步选择的收货地址、收货人姓名、联系电话。
    • 实现:这部分数据通常从 cart (购物车) Session 中获取,或者通过地址选择的接口传递过来,用户在这里只能查看,不能直接修改(修改通常在“收货地址管理”页面完成)。
  2. 商品列表区域

    • 功能:清晰列出用户本次购买的所有商品,包括商品图片、商品名称、单价、购买数量、小计金额。
    • 实现:这是页面的核心数据,通过循环 {dede:global name='items'/} 或类似的全局变量来渲染,这个变量是一个数组,包含了购物车中所有商品的信息。
  3. 费用明细区域

    • 功能:汇总订单的所有费用,让用户一目了然。
    • 通常包含
      • 商品总价:所有商品单价 × 数量的总和。
      • 运费:根据商品重量、目的地或免运费规则计算得出。
      • 折扣/优惠券:如果有使用优惠券或享受折扣,会在这里减去相应金额。
      • 应付金额商品总价 + 运费 - 折扣,这是用户最终需要支付的金额。
    • 实现:这些金额都是通过 PHP 逻辑计算后,以全局变量的形式传递给模板的,{dede:global.name='price_sale'/} 代表应付金额。
  4. 支付方式选择区域

    • 功能:提供多种支付方式供用户选择,如支付宝、微信支付、银行转账、货到付款等。
    • 实现:后台管理员可以在“系统 -> 支付插件”中管理可用的支付方式,前端通过循环 {dede:global name='paymentlist'/} 变量来展示这些选项,用户单选即可。
  5. 提交订单按钮

    • 功能:用户确认所有信息无误后,点击此按钮,将订单数据提交到服务器。
    • 实现:通常是一个 <form> 表单的提交按钮,表单的 action 属性指向处理订单的 PHP 文件(如 car.phpflow.php,具体取决于 DedeCMS 版本),并附带 dopost=confirm 等参数。

文件结构与关联逻辑

订单确认页面的工作流程是 前端模板 + 后端逻辑 的结合。

模板文件 (confirm.htm)

这是一个标准的 HTML 文件,其中嵌套了 DedeCMS 的模板标签。

<!-- 确认订单页面头部 -->
{dede:include filename="head.htm"/}
<!-- 主要内容区 -->
<div class="confirm-main">
    <!-- 收货信息 -->
    <div class="address-info">
        <h3>收货信息</h3>
        <p>收货人:{dede:global.name='addr_name'/}</p>
        <p>电话:{dede:global.name='addr_tel'/}</p>
        <p>地址:{dede:global.name='addr_address'/}</p>
    </div>
    <!-- 商品列表 -->
    <div class="goods-list">
        <h3>商品清单</h3>
        <table>
            <thead>
                <tr>
                    <th>商品图片</th>
                    <th>商品名称</th>
                    <th>单价</th>
                    <th>数量</th>
                    <th>小计</th>
                </tr>
            </thead>
            <tbody>
                <!-- 循环输出购物车中的每一件商品 -->
                {dede:global name='items' function='GetCarList(@me)'/}
                <!-- 或者更简单的循环,具体取决于变量结构 -->
                <!-- {dede:foreach from=$items item=item} -->
                <!--     <tr>...</tr> -->
                <!-- {/dede:foreach} -->
            </tbody>
        </table>
    </div>
    <!-- 费用明细 -->
    <div class="price-detail">
        <h3>费用明细</h3>
        <p>商品总额:<span class="price">{dede:global.name='price_total'/}</span></p>
        <p>运费:<span class="price">{dede:global.name='price_fare'/}</span></p>
        <p>优惠:<span class="price">- {dede:global.name='price_discount'/}</span></p>
        <p class="final-price">应付金额:<strong>{dede:global.name='price_sale'/}</strong></p>
    </div>
    <!-- 支付方式 -->
    <div class="payment-method">
        <h3>支付方式</h3>
        {dede:global name='paymentlist' function='GetPaymentList(@me)'/}
    </div>
    <!-- 提交按钮 -->
    <form action="/car.php" method="post">
        <input type="hidden" name="dopost" value="saveorder">
        <button type="submit" class="submit-btn">提交订单</button>
    </form>
</div>
<!-- 页面底部 -->
{dede:include filename="foot.htm"/}

后端逻辑文件

当用户访问订单确认页面时,通常由一个 PHP 文件来处理数据并加载模板,这个文件可能是:

  • car.php (在较老或某些版本的 DedeCMS 中)
  • flow.php (在较新版本中,作为“流程”控制器)

工作流程:

  1. 访问页面:用户点击“去结算”或类似链接,访问 car.php?dopay=confirm
  2. 验证数据:PHP 文件首先检查用户的购物车是否为空,用户是否登录等。
  3. 计算费用:调用相应的函数(如 GetShippingFee() 计算运费,GetDiscount() 计算折扣)来生成最终的订单金额。
  4. 获取数据:从数据库或 Session 中获取收货地址、商品列表、支付方式列表等信息。
  5. 分配变量:将所有计算好的数据和获取的信息,通过 assignSetVar 等方法,赋值给模板引擎的全局变量。
  6. 加载模板Display('dedecar/confirm.htm'),将数据渲染到 confirm.htm 模板文件中,并输出给用户。

如何自定义修改

如果你想要修改订单确认页面的样式或功能,可以遵循以下步骤:

修改样式和布局

最常见的需求是修改页面的外观,使其与网站的整体设计风格保持一致。

  • 方法:直接编辑 /templets/default/dedecar/confirm.htm 文件。
  • 技巧
    • 使用浏览器开发者工具 (F12):在浏览器中打开确认页面,右键点击你想要修改的元素(如商品列表、价格区域),选择“检查”,可以直观地看到该元素的 HTML 代码和对应的 CSS 样式。
    • 修改 HTML 结构:可以增删 divtable 等标签来调整布局。
    • 添加/修改 CSS:你可以在 confirm.htm 文件内部添加 <style> 标签来写一些临时的样式,但最佳实践是在网站的公共 CSS 文件(如 /templets/default/style/dedecar.css)中添加或修改样式,以保持代码的整洁和可维护性。

修改显示内容

你希望在商品列表中增加“规格”一列,或者修改“应付金额”的显示文本。

  • 方法:编辑 confirm.htm 文件,找到对应的模板标签部分进行修改。
  • 限制:这种方法只能显示后端已经计算好并传递过来的数据,如果你需要增加后端没有提供的数据(比如商品的库存),你就需要修改后端 PHP 逻辑。

添加新的功能

这是一个更高级的操作,

  • 增加“留言”功能:允许用户在提交订单时给商家留言。

    • 前端:在 confirm.htm 表单中添加一个 <textarea> 输入框。
    • 后端:修改处理订单提交的 PHP 文件,接收这个新字段,并将其保存到订单数据表中相应的字段里。
  • 修改支付方式:比如想移除“货到付款”选项。

    • 前端:编辑 confirm.htm,找到支付方式循环的部分,根据条件判断来决定是否输出某个支付方式的 HTML。
    • 后端:更彻底的方法是修改生成支付方式列表的 PHP 代码,直接从列表中移除你不需要的支付方式。

DedeCMS 的订单确认页面是一个由 confirm.htm (视图)car.php/flow.php (控制器/逻辑) 共同驱动的模块。

  • 对前端展示和简单交互的修改,主要操作 confirm.htm 文件。
  • 对数据逻辑、费用计算或新功能的增加,则需要深入到后端的 PHP 文件中进行修改。

在进行任何修改前,强烈建议先备份原始文件,以防修改出错导致网站功能异常。

-- 展开阅读全文 --
头像
dede 文章调用说明
« 上一篇 今天
织梦怎么调用图片放大
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]