我正在为一个Sulu应用程序创建主页的固定内容。
我已经创建了一个service页面类型,并且我还创建了一个在主页上使用的自定义类型,称为service_slider,它是从service页面创建的卡片的滑块。 service_slider类型包含一个名为services的smart_content属性,管理员可以使用它来选择要在滑块中呈现为卡片的service页面。
当在管理部分手动选择服务页面时,这个功能运行良好,但是我在如何在固定内容中以编程方式实现这一点方面遇到了真正的困难。
我创建的主页固定内容如下所示:
为了清晰起见,智能内容属性 XML 的外观如下(简化版):
我已经创建了一个service页面类型,并且我还创建了一个在主页上使用的自定义类型,称为service_slider,它是从service页面创建的卡片的滑块。 service_slider类型包含一个名为services的smart_content属性,管理员可以使用它来选择要在滑块中呈现为卡片的service页面。
当在管理部分手动选择服务页面时,这个功能运行良好,但是我在如何在固定内容中以编程方式实现这一点方面遇到了真正的困难。
我创建的主页固定内容如下所示:
$homeDocument->getStructure()->bind([
//...
'blocks' => [
'type' => 'service_slider',
'title_text' => 'Lorem ipsum',
'services' => // ???
]
]);
为了清晰起见,智能内容属性 XML 的外观如下(简化版):
<property name="services" type="smart_content">
<params>
<param name="provider" value="pages"/>
</params>
</property>
我尝试传递PageDocument对象和页面uuid,我查看了Sulu Rocks演示网站和代码,并尝试复制和修改他们在那里的内容(在DocumentFixture类中,他们有一个fixture将文章添加到博客帖子中,这是一个智能内容字段),但我所做的一切都导致了services
数组为空,当我在twig中dump()
输出内容时。
有人有什么建议吗?