作为 Pagebuilder 的 Sulu:块内块

Sulu as a Pagebuilder: block within block

我想使用 sulu 作为页面构建器。 A 有一个包含多个元素的块。现在我的下一个目标是提供字段来显示 "Accordion-Script".

元素包括

我希望我可以像这样在另一个块中使用一个块:

<block name="contents"
           default-type="editor"
           minOccurs="0"
           maxOccurs="200"
           mandatory="true">
        <meta>
            <title lang="de">Artikelinhalt</title>
            <title lang="en">Contents</title>
        </meta>
        <types>
            <type name="tabs">
                <meta>
                    <title lang="de">Tabs</title>
                    <title lang="en">Tabs</title>
                </meta>
                <properties>
                    <block name="tabContents"
                           default-type="editor"
                           minOccurs="0"
                           maxOccurs="200"
                           mandatory="true">
                        <types>
                            <type name="tabContent">
                                <meta>
                                    <title lang="de">Texteditor</title>
                                    <title lang="en">Text editor</title>
                                </meta>
                                <properties>
                                    <property name="article" type="text_editor">
                                        <meta>
                                            <title lang="de">Inhalt</title>
                                            <title lang="en">Content</title>
                                        </meta>
                                        <params>
                                            <param name="table" value="true"/>
                                            <param name="link" value="true"/>
                                            <param name="paste_from_word" value="true"/>
                                            <param name="height" value="400"/>
                                            <param name="max_height" value="2000"/>
                                            <!-- CKEditor Parameters examples: -->
                                            <param name="extra_allowed_content" value="img(*)[*]; span(*)[*]; div(*)[*]; iframe(*)[*]; script(*)[*]" />
                                        </params>
                                    </property>
                                </properties>
                            </type>
                        </types>
                    </block>
                </properties>
            </type>

[...] 这是我的另一个 type-attributes。

它不起作用(后端根本不加载 edit-page)。 有办法吗?

该页面稍后应该可以由用户编辑,并且可以具有如下结构:

- block
    - text
    - accordion
        - text
        - text
        - text
     - image

Sulu 不支持嵌套块,但如果我看一下您的示例,我也会说这里没有必要嵌套块。

您似乎只想对这些块进行分组,因此您可以简单地使用一个部分:

 <section name="contents">
        <meta>
            <title lang="de">Artikelinhalt</title>
            <title lang="en">Contents</title>
        </meta>
        <properties>
            <block name="tabContents"
                   default-type="editor"
                   minOccurs="0"
                   maxOccurs="200"
                   mandatory="true">
                <types>
                    <type name="tabContent">
                        <meta>
                            <title lang="de">Texteditor</title>
                            <title lang="en">Text editor</title>
                        </meta>
                        <properties>
                            <property name="article" type="text_editor">
                                <meta>
                                    <title lang="de">Inhalt</title>
                                    <title lang="en">Content</title>
                                </meta>
                                <params>
                                    <param name="table" value="true"/>
                                    <param name="link" value="true"/>
                                    <param name="paste_from_word" value="true"/>
                                    <param name="height" value="400"/>
                                    <param name="max_height" value="2000"/>
                                    <!-- CKEditor Parameters examples: -->
                                    <param name="extra_allowed_content"
                                           value="img(*)[*]; span(*)[*]; div(*)[*]; iframe(*)[*]; script(*)[*]"/>
                                </params>
                            </property>
                        </properties>
                    </type>
                </types>
            </block>
        </properties>

这些部分是内容管理器的纯视觉帮助,不会对传递给 twig 模板的结构产生任何影响。

Sulu 2.1.0 嵌套块支持已添加到核心中,请在此处查看发行说明https://sulu.io/blog/sulu-release-2-1-0-2-0-9