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();