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

如何自定义Dolibarr产品卡片:拆分信息、新增表格及标签页

Dolibarr产品卡片拆分表格与新增标签页实现方案

核心思路:通过模板修改+可选钩子扩展实现

Dolibarr的产品卡片显示逻辑主要由前端模板文件控制,部分动态内容可能通过钩子加载,以下是具体操作步骤:

  1. 定位产品卡片模板文件
    找到产品详情页的模板,不同版本路径略有差异:

    • 新版本(16+):htdocs/product/tpl/product_view.tpl
    • 旧版本:htdocs/product/tpl/product_card.tpl
      直接编辑该文件即可调整页面结构。
  2. 拆分第二个表格为第三个表格
    打开模板文件,找到第二个<table>标签块,按需求拆分内容:

    • 找到需要分离的行(<tr>标签组),将其从原表格中剪切
    • 在原表格下方新增一个独立的<table>标签,把剪切的内容粘贴进去,按需调整样式(比如继承原有表格的class,保持视觉统一)
      示例代码片段:
    <!-- 原第二个表格 -->
    <table class="noborder" width="100%">
      <tr class="liste_titre">
        <td colspan="2">{langs->trans('ExistingTableTitle')}</td>
      </tr>
      <!-- 保留的内容行 -->
      <tr><td>{langs->trans('Field1')}</td><td>{$product->field1}</td></tr>
    </table>
    
    <!-- 新增的第三个表格 -->
    <table class="noborder" width="100%" style="margin-top:10px;">
      <tr class="liste_titre">
        <td colspan="2">{langs->trans('NewTableTitle')}</td>
      </tr>
      <!-- 拆分出来的内容行 -->
      <tr><td>{langs->trans('Field2')}</td><td>{$product->field2}</td></tr>
    </table>
    
  3. 新增自定义标签页
    Dolibarr使用tabContainer组件实现标签页,按以下步骤添加:

    • 添加标签栏选项:找到模板中的标签栏(通常是<ul class="tabs">),新增一个标签项:
      <li><a href="#custom_tab" class="tabRef">{langs->trans('CustomTabName')}</a></li>
      
    • 添加标签内容容器:在标签内容区域(<div class="tabContent">)内新增对应容器,把需要迁移的内容放入其中:
      <div id="custom_tab" class="tabContentItem" style="display:none;">
        <!-- 放入要移到新标签页的内容,比如部分表格、字段等 -->
        <table class="noborder" width="100%">
          <tr class="liste_titre">
            <td colspan="2">{langs->trans('TabContentTitle')}</td>
          </tr>
          <tr><td>{langs->trans('Field3')}</td><td>{$product->field3}</td></tr>
        </table>
      </div>
      
    • 语言适配(可选):如果需要多语言支持,在对应语言文件中添加标签名翻译,比如htdocs/langs/zh_CN/product.lang中加入:
      CustomTabName=自定义标签
      TabContentTitle=标签内容标题
      
  4. 处理动态加载内容(钩子场景)
    如果要拆分的内容是通过钩子动态注入的,需通过自定义模块扩展:

    • 创建自定义模块,在setup.php中注册hookProductCard钩子
    • 在模块的hooks/hook_productcard.php中,重写钩子逻辑,将原有内容拆分后分别输出到表格和新标签页
    • 注意:钩子输出的内容需要符合模板的HTML结构,避免样式混乱
  5. 生效与调试

    • 修改完成后,进入Dolibarr后台→系统工具→清空缓存,确保模板修改生效
    • 刷新产品详情页,检查表格拆分和标签页是否正常显示,调整样式或结构至符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:45:37