使用流体/通量将配置字段添加到typo3页面

时间:2014-03-24 18:03:30

标签: typo3 fluid fedext

我已经设置了一个站点,使用flux / FLUIDCONTENT作为模板,并使用本教程使其工作:http://thomas.deuling.org/2011/06/create-base-html-fluid-templates-for-typo3-4-5/

一切运作良好但现在我希望能够选择每页图像并使用它来构建一个大标题。使用templavoila,我可以创建页面属性中可用的字段,但似乎无法使用FLUIDCONTENT。

我正在使用Typo3 6.1,这是我的内页flex模板:

{namespace v=Tx_Vhs_ViewHelpers}
{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="main" />

<f:section name="content">
                    <f:format.raw>{content_header}</f:format.raw>
    <div id="content">
        <div class="container">
           <div class="row">
                <div class="col-md-3">
                    <f:format.raw>{content_left}</f:format.raw>
                </div>
                <div class="col-md-9">
                    <f:format.raw>{content}</f:format.raw>
                </div>
            </div>
        </div>
    </div>
</f:section>

如何将表单字段添加到页面属性并在我的模板中使用它们?

1 个答案:

答案 0 :(得分:4)

我很害怕,你把事情搞混了。

fluxfluidcontent和(对您来说尤其重要)fluidpages一起玩扩展为TYPO3创建fluid模板的默认功能

  • flux 是解析和重构TYPO3表单字段的基础技术。
  • fluidcontent 利用flux来允许灵活的内容元素
  • fluidpages 利用助焊剂在纯流体中使用自定义字段进行页面布局

总结:您已阅读有关基本fluid页面模板的教程,但未阅读fluidpages模板。为了快速入门,我们提供了一些示例和文档资源:

  • 文档存储库中的quickstart
  • 来自bootstrap包的speciality provider extension(请谨慎使用 - 这是示例,而不是您的下一个项目模板)
  • 扩展程序fluidcontent_bootstrapfluidpages_bootstrap

当您浏览这些资源时,您知道如何注册提供者扩展,以便您可以在后端的页面属性中选择它。

您的模板可能看起来像这样(它实际上取自上述专业扩展):

 <!-- Note that the namespace declaration depends on which version of flux you are actually using -->
{namespace v=Tx_Vhs_ViewHelpers}
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
<f:layout name="Page"/>
<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="1column" label="1 column layout">

            <!-- Options visible in page property -->
            <flux:field.input name="settings.carousel.categories" eval="trim" default="4" />
            <flux:field.input name="settings.carousel.width" eval="trim" default="1200"/>
            <flux:field.input name="settings.carousel.height" eval="trim" default="340"/>
            <flux:field.checkbox name="settings.carousel.caption" default="1"/>

            <!-- Grid displayed in the page module -->
            <flux:grid>
                <flux:grid.row>
                    <flux:grid.column colPos="0" label="Main Content"/>
                </flux:grid.row>
            </flux:grid>
        </flux:form>
    </f:section>

    <f:section name="Content">
        <div class="row" role="main">
            <div class="col-md-12" role="section">
                <v:page.content.render column="0"/>
                <f:if condition="{v:var.typoscript(path: 'lib.addthis.display')}">
                    <f:render section="AddThis" partial="AddThis" optional="TRUE" arguments="{_all}"/>
                </f:if>
            </div>
        </div>
    </f:section>

</div>

大多数助焊剂模板(无论是否有流体页面或流体含量)都被分成(至少)3 f:section个流体部分:

  • 配置会使用您的表单字段
  • 预览会影响您在后端预览模板的方式
  • 通常内容主要(您可以在布局文件中影响命名,但应遵守我们在示例扩展中传播的约定)呈现您的FCE / Page模板

field项可通过其name属性作为getter访问它们。为了说明这一点,您可以从上面的页面模板中访问{settings.carousel.caption}