Шаблон OpenTBS / PHP / PowerPoint — Как объединить текст на нескольких слайдах?

Я пытаюсь объединить текст с несколькими слайдами, используя 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

Как можно заменить [a.ProjectName] содержимым ProjectName на нескольких слайдах и объединить содержимое ProjectName с несколькими слайдами с помощью OpenTBS?

0

Решение

Вот моменты, которые необходимо учитывать в вашем случае:

  • Вы должны выбрать слайд, прежде чем что-то слить на него (MergeBlock(), MergeField()и автоматические поля [onload], [onshow]).
  • Но OpenTBS автоматически выбирает обычный слайд # 1, когда вы вызываете LoadTemplate ().
  • Основные слайды — это конкретные слайды, которые вы должны явно выбрать с помощью команды 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);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]