TYPO3 TCA 类型在 FLUID 中选择?

2024-01-04

我在 T3 后端使用 TCA 类型选择 renderType = selectMultipleSideBySide

这里是 TCA 代码:

'features' => array(
    'label' => 'Zusatz',
    'config' => array(
        'type' => 'select',
        'renderType' => 'selectMultipleSideBySide',
        'size' => 10,
        'minitems' => 0,
        'maxitems' => 999,
        'items' => array(
            array(
                'Parkplätze',
                'parking'
            ),
            array(
                'Freies Wlan',
                'wlan'
            ),
        )
    )
),

它在后端运行良好!

但是,现在如何才能正确读取数据呢? 我不知道域/模型的正确方法。

/**
 * Features
 *
 * @var string
 */
protected $features = '';

/**
 * Returns the features
 *
 * @return string $features
 */
public function getFeatures() {
    return $this->features;
}

/**
 * Sets the features
 *
 * @param string $features
 * @return void
 */
public function setFeatures($features) {
    $this->features = $features;
}

调试代码输出:features => 'parking,wlan' (12 chars)

每个都不起作用:

<f:for each="{newsItem.features}" as="featuresItem">
    {featuresItem}<br />
</f:for>

感谢帮助!


您需要用逗号分解字符串,这样您就可以在循环中迭代它们,至少有两种方法:一种是自定义 ViewHelper,第二种(如下所述)是短暂的模型中的字段,当您获得特征的 ID 时,您还需要将其“翻译”为人类可读的标签......

在包含特征的模型中,添加瞬态场withgetter 如下例所示:(当然你可以删除注释中这些无聊的注释,但是你must保持@var与正确的类型一致!):

/**
 * This is a transient field, that means, that it havent
 * a declaration in SQL and TCA, but allows to add the getter,
 * which will do some special jobs... ie. will explode the comma
 * separated string to the array
 *
 * @var array
 */
protected $featuresDecoded;

/**
 * And this is getter of transient field, setter is not needed in this case
 * It just returns the array of IDs divided by comma
 *
 * @return array
 */
public function getFeaturesDecoded() {
    return \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->features, true);
}

如前所述,您需要获取人类可读的 ID 标签,即使您不构建多语言页面翻译文件也非常有用,只需在文件中typo3conf/ext/yourext/Resources/Private/Language/locallang.xlf为 TCA 选择中的每个功能添加项目:

<trans-unit id="features.parking">
    <source>Parkplätze</source>
</trans-unit>
<trans-unit id="features.wlan">
    <source>Freies Wlan</source>
</trans-unit>

正如您所看到的,点后的反式单元的 id 与 TCA 中的特征键相同,

最后,在视图中使用它所需要的只是迭代短暂的字段而不是原始字段:

<f:for each="{newsItem.featuresDecoded}" as="feature">
    <li>
        Feature with key <b>{feature}</b>
        it's <b>{f:translate(key: 'features.{feature}')}</b>
    </li>
</f:for>

将新字段添加到模型中(即使它们是暂时的)并在本地化文件中添加或更改条目后,您需要清除系统缓存!在 6.2+ 中,此选项在安装工具中可用(但您可以通过 UserTS 在闪光图标).

注意:使用自定义 ViewHelper 可以完成同样的事情,但恕我直言,瞬态字段更容易。

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

TYPO3 TCA 类型在 FLUID 中选择? 的相关文章

  • 打字稿条件:backend_layout(带幻灯片)

    我用这个条件 globalVar GP colPos 0 page backend layout pagets MainTemplate 我的问题是我的 子页面 没有选择 backend layout 因为设置了父页面 后端布局 此页面的子
  • 扩展 sys_file_reference (FAL)

    我想用自己的字段扩展 sys file reference 所以我创建了该字段和 TCA 在后端 该字段可用 但我无法引用流体模板中的该字段 ext tables php CREATE TABLE sys file reference no
  • TYPO3 Extbase 有关后端删除对象的单独代码

    当我的 Extbase 域对象之一从 TYPO3 后端的列表视图中删除时 我想执行一些单独的代码 认为它可以通过覆盖来工作remove o 相应存储库中的方法 例如 public function remove object parent
  • 如何将 CropVariants 添加到 TYPO3 Flexform 中的图像字段

    我可以像这样覆盖 TCA 中图像字段的cropVaraints columnsOverrides gt image gt label gt LLL EXT myext Resources Private Language locallang
  • TYPO3后端:搜索自定义记录

    我开发了一个允许创建新记录的扩展 在列表模块中 记录列表下有搜索表单 例如 它适用于 fe 用户 但不适用于我的自定义记录 我是否需要在 tca 中添加任何特殊配置才能使此表单与我的自定义记录一起使用 EDIT 这似乎是在更新到 TYPO3
  • 如何向 TYPO3 v9 URL 添加尾部斜杠?

    从 TYPO3 8 7 更新到 TYPO3 9 5 时 您可能会放弃 realurl 扩展以支持新的路由功能 但您可能会注意到 realurl 默认情况下会在所有 url 后面附加一个 当您不使用 html 后缀时 默认情况下 TYPO3
  • TYPO3 v6 中的语言切换

    切换前端语言并不像预期的那样对我有用 到目前为止我所做的 在根页面 我创建了两种网站语言 德语和英语 在打字稿模板中 我添加了以下设置 我发现其中大部分分散在网络上 config tx realurl enable 1 simulateSt
  • 在 Typoscript HMENU 中,如何强制 URL 的语言

    我有一个多语言 多站点 多域 TYPO3 4 5 实例 RealURL 让我很忙 在某些子站点中 我无法让它为语言 1 和 2 创建正确的 URL 它将导致模式 www language 2 domain com language 1 pa
  • Typo3:8.7.9 CKeditor 保存后删除块样式

    我在 Typo3 中有以下 CKEditor 的 YAML 配置 Load default processing options imports resource EXT rte ckeditor Configuration RTE Pro
  • TYPO3:如何在后端添加css和JS

    我该如何添加css and javascript后端有文件吗 我想将这些文件用于自定义创建的内容元素以使它们对用户更具吸引力 System TYPO3 v9 Mode 作曲家模式 Target 自定义内容元素 在 TYPO3 v9 中 您必
  • TYPO3:将插件从 USER 更改为 USER_INT 类型

    我有一个可用的 TYPO3 扩展 附有这个维基页面 http wiki orbeon com forms doc developer guide form runner typo3 extension 如何更改此扩展的代码 使其成为 USE
  • 如何在 Typo3 6.1.5 中使用 PHP 从我的扩展中的 tt_content 渲染内容对象

    我需要使用我的扩展渲染 tt content 中的特定内容 我怎样才能做到这一点 TYPO3 CMS Frontend ContentObject ContentObjectRenderer 在 Extbase 扩展中 this gt cO
  • Typo3 版本 8 登录循环

    我有一个关于 Typo3 版本 8 LTS 的问题 我已经通过安装程序工具安装并配置了 TYPO3 但是 当我在安装后尝试登录时 登录过程会卡住 我得到的唯一信息是登录按钮显示 验证登录数据 旁边有一个旋转的加载符号 有人可以帮我解决这个问
  • Typo3 CKEditor 图片来自 FAL

    我使用 CKEditor 设置了全新的 TYPO3 8 7 4 安装 并且rte ckeditor image从 FAL 获取图像 在文档中rte ckeditor image它说 最大尺寸与魔法图像的配置有关 必须在 Page TSCon
  • 使用fluid_styled_content,如何在TYPO3 7.5和7 LTS中创建自定义内容元素?

    有人告诉我 使用新的 Fluid styled content 系统扩展在 TYPO3 7 5 中为后端设置自定义的结构化内容元素是一件轻而易举的事 看完之后sysext fluid styled content and sysext ba
  • 允许在 ckeditor 中嵌入 oembed 标签

    我想将 oembed 标签放入 TYPO3 的 ckeditor RTE 中 这样我想将像 Instagram Facebook 或 Twitter 这样的社交帖子放入一些新闻文章中 在一些文本的中间 为此 我激活了 ckeditor 的嵌
  • Typo3:如何上传文件并创建文件引用?

    我将尝试在 FE 中上传一个文件 或稍后的多个文件 这有效 就像我当前的代码一样 但是我现在如何获取该文件的文件引用呢 var array fileData var integer feUserId return TYPO3 CMS Ext
  • 如何避免 TYPO3 中的日期时间问题?

    我创建了一个小扩展 它使用日期时间来查看一些特定事件 事件日期和事件时间 但如果我尝试从数据库获取正确的日期时间到前端 我总是会遇到麻烦 我可以通过 TYPO3 后端设置每个事件的日期时间 但是如果我尝试在前端获取这个值 例如
  • tx_news 中内容元素的翻译显示默认语言

    环境 打字3 8LTS 新闻 6 3 0 也用 7 x 进行了检查 新闻列表视图 页面 已翻译 新闻详细视图 页面 已翻译 新闻记录翻译 Problem 当我访问语言 UID 1 的页面时 新闻记录本身会被翻译 例如headline 在详细
  • typo3 extbase:验证表单

    我创建了一个简单的 订阅新闻通讯 表单

随机推荐

  • 在 Windows 8.1 上全新安装 Visual Studio 2013 后出现 ASP.NET MVC Razor 错误

    我最近买了一台新笔记本电脑并全新安装了 Visual Studio 2013 Professional 安装后 我做的第一件事就是确保 Nuget 设置为自动下载缺失的包 我现在正在尝试使用与购买新笔记本电脑之前使用的相同的大型解决方案 但
  • Angular UI Router 1.0.0 - 使用 $transitions.onBefore 防止路由加载

    我升级到 UI Router 1 0 0 它已从 on stateChangeX to transitions onX 在这里查看 transitions https ui router github io docs latest clas
  • Curl 到 Openshift 控制台以获取访问令牌

    我正在尝试检索 openshift 登录的用户访问令牌 我想要实现的方法是通过curl命令 其中用户提供他的用户名和密码 并作为响应将获得令牌 我无法使用 openshift python 客户端 它只能是 GET POST 调用 您需要执
  • 如何选择充满常量的多行?

    在 SQL 语句中选择常量而不引用表是完全合法的 SELECT 1 2 3 后者返回的结果集是包含值的单行 我想知道是否有一种方法可以使用常量表达式一次选择多行 例如 SELECT 1 2 3 4 5 6 7 8 9 我想要像上面这样的东西
  • UITextView行高

    不确定之前是否提到过 但我无法在任何地方找到答案 I have UITextView随着一堆文本 大约 130 行 的变化 我需要在我的文本中获取该文本的 5 行高度UITextView 尝试这个 textView font lineHei
  • 尝试创建非自签名证书时出现异常

    我想从每个设备的自签名证书切换到一对证书 其中一个是之前生成的 放置在受信任的根证书颁发机构存储中 对于所有设备都是相同的 并且作为第二个证书的根 CA 该证书是根据每个设备生成的设备 并放置在个人存储中 我不想使用 makecert 因为
  • 如何使用 VBA 添加自定义功能区选项卡?

    我正在寻找一种在 Excel 功能区中添加自定义选项卡的方法 该选项卡将带有一些按钮 我偶然通过谷歌找到了一些解决这个问题的资源 但所有资源看起来都很狡猾而且极其复杂 有什么快速而简单的方法可以做到这一点 我希望当我的 VBA 加载到 Ex
  • 页面加载后,Xamarin WebView.CanGoBack 和 CanGoForward 始终返回 false

    我是 Xamarin Forms 的新手 如果我没有使用正确的词语 请原谅 我创建了一个名为 WebBrowser 的解决方案 以创建一个简单的移动浏览器 目前我正在处理通用文件主页 xaml and MainPage xaml cs 我正
  • MongoError:驱动程序与此服务器版本不兼容

    我刚刚安装了 Mongo Node 等 当我尝试通过 Nodejs 服务器更新数据库时 出现以下错误 MongoError driver is incompatible with this server version 这是我拥有的版本 N
  • 选择查询中 geo.distance 函数的返回值

    我正在使用 select 来查询索引 我想返回索引中 GeographyPoint 的距离 我正在尝试这样的事情 其中 GeoPoint 是位置字段 select ID geo distance GeoPoint geography POI
  • MySQL DELETE FROM 与 IN 条件的 UNION 子查询

    我遇到了一个奇怪的 SQL 错误 最后一个查询不起作用 当然 我可以将 DELETE 拆分为三个查询 但我真的想知道为什么 MySQL 不允许我这样做 一个小例子 SELECT id FROM stairs WHERE building 1
  • 如何测试某些程序集是否已加载到内存中? [复制]

    这个问题在这里已经有答案了 我有一些代码使用 Crystal Reports 运行时库来生成和丢弃一个小虚拟报告 以确保在用户创建真实报告之前将库及时加载到内存中 这是一个 感知性能 问题 当用户生成报告时 性能得到显着改善 因此显然一切正
  • 如何在日历日视图中添加圆形装饰器?

    我在用npanigrahy Custom Calendar View显示我的自定义日历 但我的问题是如何在日历中创建的事件上添加圆形项目符号 这是最好的使用方式this https github com prolificinteractiv
  • 无法为 iOS 编译 LAME

    我正在尝试将 lame mp3 编码器编译为 iOS 的静态库 我想支持所有架构 包括 i686 armv6 armv7 armv7s 和 arm64 这是我的构建脚本 bin bash DEVELOPER xcode select pri
  • 使用 Cocoa 遵循渐变路径

    我希望找到一种方法来遵循带有渐变的路径 以便渐变沿着路径的切线变化 Sorta like this 然而 到目前为止 我在搜索中找到的解决方案都使用了使用形状图层来掩盖渐变图层的变体 Which results in an unwanted
  • 没有 XmlRootElement 注释的 JAXB 解组?

    有没有什么方法可以在没有 XmlRootElement 注释的情况下对类进行解组 或者我们有义务输入注释吗 例如 public class Customer private String name private int age priva
  • 经典 ASP - 解析 JSON XMLHTTP 返回

    我无法找到一种好方法来解析从 XMLHTTP 获得的返回值 返回的是 JSON 用于获取 JSON 的 ASP 代码
  • 当我进行ajax调用时,尝试使用角度添加加载轮?

    我试图在进行 ajax 调用时实现加载轮指令 因此在响应时间内我想显示加载时间 使用下面的代码我没有看到任何错误 加载轮也没有 有没有更好的方法使用 angularJs 实现加载轮 or 下面的代码中实现了什么错误 主要 html
  • 缺少基础 SDK?

    我终于下载了新版本的 Xcode 和 iOS4 并最终尝试将我的第一个应用程序放到设备上 我正在查看配置文件并到达需要打开 Xcode 的地步 然后 设备 下拉菜单中只显示 Base SDK Missing 如果我进入 项目 gt 设置活动
  • TYPO3 TCA 类型在 FLUID 中选择?

    我在 T3 后端使用 TCA 类型选择 renderType selectMultipleSideBySide 这里是 TCA 代码 features gt array label gt Zusatz config gt array typ