Pimcore 5: программно добавление кирпича в ареаблок (автоматизация документов)

Я пытаюсь перенести довольно сложные страницы в экземпляре Pimcore 4 на обновленный экземпляр Pimcore (5 на момент публикации).

Мне уже удалось перевести объекты и назначения ресурсов в поля этих объектов, однако я не смог найти способ автоматизировать включение и настройку блоков в редактируемый тип содержимого Areablock в документе.

Согласно документам Pimcore 5, создание документов осуществляется с помощью:

<?php

  // Create a new document, name it, and assign a parent...
  $page = new \Pimcore\Model\Document\Page();
  $page->setKey( 'my-new-document' );
  $page->setParentId( 82 );

  // This is where you'd automate the brick configuration...

  // All done, save the document...
  $page->save();

Если у кого-то был успешный опыт в этом, я был бы очень признателен за любую помощь.

1 ответ

Я бы порекомендовал посмотреть на вывод getElements(), при необходимости изменить его и передать в setElements()

    $page = \Pimcore\Model\Document::getById($page_of_interest);
    $elements = $page->getElements();
    // Update $elements (namely changing documentId to the id of the new page, and updating field names/types)
    $new_page = new \Pimcore\Model\Document\Page();
    $new_page->setKey('my-new-page');
    $new_page->setElements($elements);
    $new_page->save();
Другие вопросы по тегам