OpenTBS / PHP / PowerPoint模板 - 如何在多张幻灯片上合并文本


OpenTBS / PHP / PowerPoint Template - How do I merge text across multiple slides?

我正在尝试使用 OpenTBS 将文本合并到多张幻灯片中,但无法在多张幻灯片的标题中替换 [a.ProjectName]。

我按照 OpenTBS 中的演示进行操作,但是当我使用以下代码检索项目名称时,我无法成功进行块替换。

这是我使用的代码:

  $data = array ('ProjectName' => $manageProjectName->getProjectName());
  $TBS->MergeBlock('a', $data);
  $TBS->Plugin(OPENTBS_SELECT_SLIDE, 1, true);  //true means use slide master but it is not having any effect     

如何使用 OpenTBS 将 [a.ProjectName] 替换为多张幻灯片中的项目名称内容,并将项目名称的内容合并到多张幻灯片中?

以下是

您在这种情况下需要考虑的要点:

  • 您必须在合并幻灯片之前选择一张幻灯片(MergeBlock()MergeField()和自动字段[onload][onshow])。
  • 但是当您调用 LoadTemplate() 时,OpenTBS 会自动选择普通幻灯片 #1。
  • 母版幻灯片是您必须使用命令 OPENTBS_SELECT_SLIDE 显式选择的特定幻灯片。

您的代码段中的另一个问题是您似乎混淆了MergeBlock()MergeField()。MergeBlock() 用于合并作为记录集的数据(多个记录,具有多个字段);因此,该块的重复次数与记录一样多。MergeField() 用于合并项目,就像在您的代码段中一样。

所以你的代码应该是:

$data = array ('ProjectName' => $manageProjectName->getProjectName());
// Merging [a.ProjectName] in the master slide #1
$TBS->Plugin(OPENTBS_SELECT_SLIDE, 1, true); 
$TBS->MergeField('a', $data);
// Merging [a.ProjectName] in the normal slide #1
$TBS->Plugin(OPENTBS_SELECT_SLIDE, 1); 
$TBS->MergeField('a', $data);