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

Magento中为配送方式添加自定义Logo的方法

在Magento中为配送方式添加自定义Logo的实现方案

最佳方案

建议采用主题重写+可选后台配置的方式,完全避开修改Magento核心代码,既能灵活实现Logo展示,也不会影响后续系统升级。

1. 准备Logo资源

把各个配送方式的专属Logo(比如ups-logo.png、fedex-logo.png)上传到主题的静态资源目录:

app/design/frontend/[你的厂商名]/[你的主题名]/web/images/shipping/

2. 重写结账配送方式模板

Magento默认的配送方式选择模板在vendor/magento/module-checkout/view/frontend/web/template/shipping-address/shipping-method-item.html,我们在主题里重写这个文件:

  • 先在主题目录创建对应路径:
    app/design/frontend/[你的厂商名]/[你的主题名]/Magento_Checkout/web/template/shipping-address/shipping-method-item.html
    
  • 打开重写后的模板,在配送方式名称附近添加Logo代码,比如:
    <div class="shipping-method-logo">
        <img data-bind="attr: {src: $parent.getShippingLogo(method.carrier_code + '_' + method.method_code), alt: method.method_title}" />
    </div>
    

3. 添加JS逻辑获取Logo路径

在主题的Checkout JS组件里新增方法返回Logo的URL:

  • 主题目录下创建或修改Magento_Checkout/web/js/view/shipping.js,添加:
    getShippingLogo: function(methodCode) {
        return window.checkout.baseUrl + 'pub/static/frontend/[你的厂商名]/[你的主题名]/images/shipping/' + methodCode + '.png';
    }
    

模板里的$parent就是这个shipping.js的实例,可直接调用该方法。

4. 可选:后台配置Logo路径(更灵活)

如果想在后台随时修改每个配送方式的Logo,无需改动代码,可以做个自定义模块:

  • 在模块的etc/adminhtml/system.xml里添加配置项,比如给UPS配送方式加Logo上传功能:
    <section id="carriers" translate="label" type="text" sortOrder="320" showInDefault="1" showInWebsite="1" showInStore="1">
        <group id="ups" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
            <field id="logo_path" translate="label" type="image" sortOrder="21" showInDefault="1" showInWebsite="1" showInStore="0">
                <label>配送方式Logo</label>
                <backend_model>Magento\Config\Model\Config\Backend\Image</backend_model>
                <upload_dir config="system/filesystem/media" scope_info="1">shipping/logos</upload_dir>
            </field>
        </group>
    </section>
    
  • 之后在Block或者JS里读取这个配置值,传递到前端模板即可。

5. 调整Logo样式

在主题的CSS文件里添加样式,控制Logo的大小和显示位置:

.shipping-method-logo img {
    width: 80px;
    height: auto;
    margin-right: 10px;
    vertical-align: middle;
}

关键修改位置汇总

  • 模板文件:app/design/frontend/[你的厂商名]/[你的主题名]/Magento_Checkout/web/template/shipping-address/shipping-method-item.html
  • JS组件:app/design/frontend/[你的厂商名]/[你的主题名]/Magento_Checkout/web/js/view/shipping.js
  • 静态资源目录:app/design/frontend/[你的厂商名]/[你的主题名]/web/images/shipping/
  • (可选)自定义模块配置:etc/adminhtml/system.xml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:52:41