【问题标题】:PGrid and CGrid doesnt renderPGrid 和 C Grid 不渲染
【发布时间】:2025-12-21 19:15:06
【问题描述】:

我正在使用 TYPO3 6.2.7 和 Flux、VHS、fluidcontent 和 fluidpages 的所有最新版本。

我使用的页面模板不会在后端呈现内容区域。 它只显示默认的 TYPO3 列。

这是我的首页模板。

{namespace v=Tx_Vhs_ViewHelpers}
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
<f:layout name="FrontPage" />
<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
 xmlns:v="http://fedext.net/ns/vhs/ViewHelpers"
 xmlns:flux="http://fedext.net/ns/flux/ViewHelpers"
 xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">

<f:section name="Configuration">
<flux:form id="frontpage" label="Startseite">

    <flux:grid>
        <flux:grid.row>
            <flux:grid.column colPos="0" name="content" />
        </flux:grid.row>
    </flux:grid>

</flux:form>

</f:section>

<f:section name="Resources">
    <f:render partial="headerData" section="frontpage" />
</f:section>

<f:section name="Content">
    <v:content.render column="0" />
</f:section>

<f:section name="Header">
    <f:render partial="Header" />
</f:section>

</div>

还有一个与流体内容一起使用的元素存在问题。 它应该是一个简单的框,您可以在其中输入一些其他内容。 但是“添加内容”按钮不会出现在后端。 这是模板中的一些代码。

{namespace flux=FluidTYPO3\Flux\ViewHelpers}
<f:layout name="content" />
<div xmlns="http://www.w3.org/1999/xhtml"
 xmlns:flux="http://fedext.net/ns/flux/ViewHelpers"
 xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">

<f:section name="Configuration">
<flux:form id="contentbox" options="{group: 'Fluid FCEs', icon: '../typo3conf/ext/sw_fluidfce/Resources/Public/Icons/shadowbox.gif'}" label="Flexible Contentbox" description="Very flexible contentbox. You can just set a padding arround a text or create a shadowbox. You can also create a Header Box or a Link Box.">
    <flux:field.checkbox name="shadow" label="Create a shadow" />
    <flux:field.checkbox name="nomargin" label="No Margin (Abstand nach unten)" />
    <flux:field.checkbox name="nopadding" label="No Padding (Abstand nach innen)" />
</flux:form>
<flux:grid>
    <flux:grid.row>
        <flux:grid.column name="content" colPos="0" label="Content inner" />
    </flux:grid.row>
</flux:grid>
</f:section>

<f:section name="Preview">
<b>Flexible Contentbox</b>
{f:if(condition: '{shadow} == "1"', then: '<br />Wirft Schatten')}
{f:if(condition: '{nomargin} == "1"', then: '<br />Kein Margin (Abstand nach unten)')}
{f:if(condition: '{nopadding} == "1"', then: '<br />Kein Padding (Abstand nach innen)')}
<flux:widget.grid />
</f:section>

<f:section name="Main">

<div class="fce_contentbox {f:if(condition: '{shadow} == "1"', then: 'shadowbox shadow')} {f:if(condition: '{nomargin} == "1"', then: 'nomargin')}">
    <div class="fce_contentbox_inner {f:if(condition: '{nopadding} == "1"', then: 'nopadding')}">
        <flux:content.render area="content" />
    </div>
</div>

</f:section>

</div>

你知道可能是什么问题吗? 我尝试了一些旧版本的助焊剂等,但没有解决问题。

最好的问候, 索伦

【问题讨论】:

    标签: grid fedext


    【解决方案1】:

    关于页面布局:

    如果它显示默认的 TYPO3 列,您可能没有在页面记录中选择流体页面后端布局。在最近的 fedext/TYPO3 版本中,您需要编辑根页面的属性并将 both “后端布局(仅限此页面)”和“后端布局(此页面的子页面)”设置为“Fluidpages” "在“外观”标签中。

    关于内容元素:

    &lt;flux:form.content&gt; 在网格中不需要/不允许。 &lt;flux:grid.column&gt; 自动处理所有事情。你必须像这样组织它:

    <f:section name="Configuration">
        <flux:form>
            [...]
            <flux:grid>
                <flux:grid.row>
                    <flux:grid.column colPos="0" name="main" />
                </flux:grid.row>
            </flux:grid>
        </flux:form>
    </f:section>
    

    此外,您必须提供在 BE 中显示网格的预览部分。例如:

    <f:section name="Preview">
        <flux:widget.grid />
    </f:section>
    

    或更短:

    <f:section name="Configuration">
        <flux:form>
            [...]
            <flux:form.content name="main" />
        </flux:form>
    </f:section>
    

    &lt;flux:form.content&gt; 是具有一行一列且 colPos 为 0 的网格的简写语法。

    【讨论】:

    • 感谢您的回答!但它仍然不适用于内容元素。在 1.7 的手册中。它说网格应该设置在表单内。无论这两种方式都行不通。我还包括了预览部分。您可能知道还有什么问题?