首页 > 解决方案 > 无法两次生成同一张表

问题描述

我今天遇到了一个奇怪的错误,您似乎不能在文档中使用 2 次(或更多)同一个表和相同的数据。

下面的屏幕截图使用以下数据:

$first_event = [
    "first_date" => "22/06/2018",
    "last_date" => "22/06/2018"
];
$second_event = [
    "first_date" => "22/06/2018",
    "last_date" => "22/06/2018"
];

$data = [$first_event,$second_event];
$TBS->MergeBlock('event', $data);

原始文件(3 页,2 表) [屏幕截图] 原始文档 - 第 1 页和第 2 页

[屏幕截图] 原始文档 - 第 3 页

渲染文档(2 页,1 个表格) [屏幕截图] 生成的文档

我在这里期望的是在前两页上有 2 个包含 2 行的表。(每页 1 个表格,第二个表格为绿色)

但我得到的是:

  1. “这不会显示” 文本被删除。
  2. “第二页:也不会显示”也被删除。
  3. 表 1 和 2 合并
  4. “第三页:出现了”保持静止(但现在是第 2 页)

错误很容易重现,您可以尝试复制任何表格并将其粘贴到同一个文档中。如果它确实使用了相同的“块”变量,那么这些表就会混在一起,魔法就会发生。

顺便说一句,它对使用相同数据的行做同样的事情。

另外,我正在使用最新版本的 TBS。

感谢阅读本文,希望能得到好的建议。

标签: opentbstinybutstrong

解决方案


这不是错误。具有相同名称的两个块被视为具有多个部分的同一块。因此,部分之间的任何内容都将被删除。

为了合并具有相同数据的多个块,您必须在模板中使用多个名称,然后与一个 MerkeBlock() 合并

$data = [$first_event,$second_event];
$TBS->MergeBlock('event1,event2', $data);

请参阅合并具有相同数据的多个块


推荐阅读