Typo3 V6:如何创建内容元素容器? (不带电视)

2023-11-24

对于一个项目,我使用 Typo3 v6.0。我正在寻找创建嵌套内容元素或内容元素容器。我希望能够创建内联两列布局,而不需要使用特定的模板。我想做这个without使用Templavoila。

我尝试过的扩展是gridelements, kb_nescefe, bs_fce, multicolumn但这些不起作用,因为它们与 Typo3 V6 不兼容。

我的目标是最终结果如附图所示。其中内联两列内容可以被省略、使用一次或多次使用,包含任何其他内容元素。

我在这里寻找最简单的解决方案。我更喜欢not必须在像这样的解决方案上投入大量的学习时间flux以及诸如此类的(http://fedext.net/- 看起来很酷,但目前也太耗时)

有任何想法吗?

example layout with inline two-column content


我是 Fluid 扩展套件(flux、fluidcontent、fluidpages 等)的作者,当然希望帮助您了解如何使用 FluidContent 来制作 FCE。它确实没有人们担心的那么先进。至少,它比上面的例子紧凑得多。以下内容在 FluidContent 中实现了与示例相同的结果:

TypoScript(静态加载:css_styled_content、fluid_content)

plugin.tx_fed.fce.yourname {
    templateRootPath = fileadmin/Templates # if you don't want to use an extension (1)
    # partial and layout root paths not defined (2)
}

关于(1),你真的、真的应该。使用扩展程序可以将用户上传的媒体等与网站内容分开。如果您这样做,只需使用 EXT:... 私有资源文件夹的路径即可。关于 (2),只有当您确实希望使用部分时,这些路径才是必需的。

然后,模板文件本身(TS中添加文件所在路径时自动检测):

{namespace flux=Tx_Flux_ViewHelpers}
<f:layout name="Content" />
<f:section name="Configuration">
    <flux:flexform id="columns" label="Columns" icon="path/to/iconfile.jpg">
        <flux:flexform.grid>
            <flux:flexform.grid.row>
                <flux:flexform.grid.column>
                    <flux:flexform.content name="left" label="Left content" />
                </flux:flexform.grid.column>
                <flux:flexform.grid.column>
                    <flux:flexform.content name="right" label="Right content" />
                </flux:flexform.grid.column>
            </flux:flexform.grid.row>
        </flux:flexform.grid>
    </flux:flexform>
</f:section>
<f:section name="Preview">
    <flux:widget.grid />
</f:section>
<f:section name="Main">
    <div class="row">
        <div class="span6">
            <flux:flexform.renderContent area="left" />
        </div>
        <div class="span6">
            <flux:flexform.renderContent area="right" />
        </div>
    </div>
</f:section>

正如您所看到的,您可以完全自由地添加任何您想要的 HTML、使用任何 ViewHelpers(甚至可以渲染 TS 对象,如果您喜欢的话)。要添加其他内容元素,只需添加新的模板文件 - 它们将被自动识别。

但它的工作方式与 IRRE 不同(你可以also使用 Flux 字段实现 - 如果您希望观看演示,请告诉我):它将允许您使用 TYPO3 中的本机拖放功能将您的子内容元素放入实际的内容容器中 - 就像您以前所做的那样与电视。

因此,流动内容可能是最接近电视的内容。

关于 Flux 的杀伤力,我想让您了解一下它的实际性能:

  • 缓存读取 TS 以了解路径
  • 检测到的模板的缓存列表
  • Fluid 缓存到原生 PHP,Flux 仅使用 Fluid 来存储配置(这意味着它始终是原生 PHP)
  • Flux 本身确实注册了一个钩子订阅者,它对保存的内容做出反应,这确实减慢了后端速度(不明显)
  • Flux 本身不会在 FE 上产生负载,但有一个例外:在未缓存的插件中(FluidContent 已缓存!)Flux 可能会调用本机 PHP 缓存代码来读取配置。
  • FluidContent 由一个极其简单的控制器组成;输出已完全缓存。
  • 您可能想要添加 VHS ViewHelper 集合 - 它本身创建绝对零负载:它只使用您使用其 ViewHelper 的资源。它包含一堆 ViewHelpers 我相信你会发现有用的。

一开始它可能看起来让人不知所措,但我向您保证,与 pibase、FlexForm XML、TS 或本机 Extbase 插件相比,需要了解和记住的东西更少。如果您想要更多的安全网,我强烈建议您在编辑器中使用 XSD 模式 - 这可以让您自动完成特殊的<flux:....>标签和其他。

但是:它需要您了解一点有关 Fluid 逻辑的知识:布局和部分是什么(您很可能在某些时候想要使用它们)以及如何使用特殊标签和引用变量(这将在其他用例 - 但不是手头的用例;它只需要简单的 ViewHelper 标签)。

我希望这有帮助。我减少了您对 Flux 杀伤力过大、需要学习的恐惧;)

Cheers,
克劳斯又名。无名编码者

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Typo3 V6:如何创建内容元素容器? (不带电视) 的相关文章

  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何检测Mysql/innodb中的死锁?

    我知道在 Innodb 中使用事务时不可避免地会发生死锁 并且如果应用程序代码正确处理死锁 它们是无害的 正如手册所说 只需再试一次 所以我想知道 如何检测死锁 死锁是否会发出一些特殊的 mysql 错误号 如果重要的话 我正在使用 PHP
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito

随机推荐