Pimcore 5:以编程方式将块添加到Areablock(文档自动化)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pimcore 5:以编程方式将块添加到Areablock(文档自动化)相关的知识,希望对你有一定的参考价值。

我正在尝试将Pimcore 4实例中相当复杂的页面迁移到更新的Pimcore实例(本帖时为5)。

我已经设法将objectsasset赋值转换为那些对象的fields,但是我无法找到一种方法来自动将bricks包含和配置到Areablock中的document可编辑内容类型中。

根据Pimcore 5文档,文档创建通过以下方式完成:

<?php

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

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

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

如果有人有这方面的任何成功经验,我将非常感谢所提供的任何帮助。

答案

我建议查看getElements()的输出,根据需要进行修改,并将其提供给setElements()

    $page = PimcoreModelDocument::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 PimcoreModelDocumentPage();
    $new_page->setKey('my-new-page');
    $new_page->setElements($elements);
    $new_page->save();

以上是关于Pimcore 5:以编程方式将块添加到Areablock(文档自动化)的主要内容,如果未能解决你的问题,请参考以下文章

Pimcore - 如何将自定义按钮添加到对象树菜单

Pimcore 5:从 4.6.2 升级到 5.0 后卡在维护模式

Pimcore:更新到 Pimcore 4 后无法使用 Pimcore\Model\Object

Xamarin.Forms:以编程方式将子项添加到网格的某些列

以编程方式将表添加到 Microsoft SQL Server Compact 3.5 数据库

以编程方式将段落标题添加到 UITextView