扩展 sys_file_reference (FAL)

2023-12-09

我想用自己的字段扩展 sys_file_reference 。所以我创建了该字段和 TCA。在后端,该字段可用,但我无法引用流体模板中的该字段。

ext_tables.php:

CREATE TABLE sys_file_reference (
 nofollow int(11) DEFAULT '0' NOT NULL,
);

配置/TCA/Overrides/sys_file_reference.php:

$tempColumns = array(
    'nofollow' => array(
        'exclude' => 1,
        'l10n_mode' => 'mergeIfNotBlank',
        'label' => 'Link als Nofollow?',
        'config' => array(
            'type' => 'check',
            'default' => '0'
        )
    )
);
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_file_reference',$tempColumns,1);
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette('sys_file_reference', 'imageoverlayPalette','--linebreak--,nofollow','after:description');

到目前为止它在后端工作。

类/域/模型/MyFileReference.php

<?php
namespace LISARDO\Foerderland\Domain\Model;
use TYPO3\CMS\Extbase\Domain\Model\FileReference;

class MyFileReference extends FileReference {

    /**
     * nofollow
     *
     * @var integer
     */
    protected $nofollow;


    /**
     * Returns the nofollow
     *
     * @return integer $nofollow
     */
    public function getNofollow() {
        return $this->nofollow;
    }

    /**
     * Sets the nofollow
     *
     * @param integer $nofollow
     * @return void
     */
    public function setNofollow($nofollow) {
        $this->nofollow = $nofollow;
    }
}

在我的设置中:

config.tx_extbase.persistence.classes {
    LISARDO\Foerderland\Domain\Model\MyFileReference {
        mapping {
            tableName = sys_file_reference
        }
    }
}

在 Fluid 中,我得到 image.uid 或 image.link 但 image.nofollow 始终为空。我做错了什么?我认为映射不正确......


好吧,我得到了正确的答案,并注意到我犯了一个错误,并在某些方面解释了错误。首先:它不是一个普通的 extbase 扩展,而只是一个自己的内容元素。所以我的扩展没有自己的模型,我可以按照 Georg 和 Victor 的建议注入实现。我只需更改 Fluid 中的语法: {image.properties.nofollow} 即可完成这项工作。

我认识到我不需要我的大部分代码:

  • Classes/Domain/Model/MyFileReference.php没有必要
  • config.tx_extbase.persistence.classes也没有必要

只需要 TCA 代码,并且流体中使用不同的语法。

但我不明白为什么这种语法有效而普通语法无效。

感谢您的所有回答!


据我所知,您可以通过以下方式访问自己的流体属性{image.properties.nofollow}.

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

扩展 sys_file_reference (FAL) 的相关文章

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

    我已经设置了一个站点来使用 Flux FLUIDCONTENT 作为模板 并使用此处的教程使其工作 http thomas deuling org 2011 06 create base html fluid templates for t
  • 在 TypoScript 中获取 FlexForm 配置

    我需要从 pi flexform 获取 typescript 中的 page headerData 如何实现我的要求 page PAGE page headerData 10 TEXT 10 value 我不太确定你真正需要什么 我是gue
  • TYPO3:未找到模板。无法解决视图的操作

    我正在尝试使用 TYPO3 后端模块 当我单击后端左侧菜单中的模块时 我试图获取视图 但是 当我单击此按钮时 我收到以下消息 抱歉 未找到请求的视图 技术原因是 没有找到模板 无法解析 MyVendor MyModule Controlle
  • TYPO3 在每个页面插入插件

    我有 TYPO3 版本 7 6 18 我想在每个页面中插入一些插件 我想这可能与打字稿有关 请帮帮我 该怎么办 如果您想在每个页面上插入特定的插件 您只需将其添加到您的页面中 如下所示 page PAGE page 10 FLUIDTEMP
  • 如何将 CropVariants 添加到 TYPO3 Flexform 中的图像字段

    我可以像这样覆盖 TCA 中图像字段的cropVaraints columnsOverrides gt image gt label gt LLL EXT myext Resources Private Language locallang
  • TYPO3 v6 中的语言切换

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

    我尝试在 TYPO3 6 2 LTS 版本 中安装模块 htmlArea RTE 在 扩展管理器 中 他是活动的 但是在 页面 中 当我编辑或创建新的文本记录时 所见即所得不会出现 我使用的是 Firefox 但我尝试了其他浏览器 但他也没
  • Typo3:8.7.9 CKeditor 保存后删除块样式

    我在 Typo3 中有以下 CKEditor 的 YAML 配置 Load default processing options imports resource EXT rte ckeditor Configuration RTE Pro
  • 显示来自 EXT:news 的特定语言记录

    我正在尝试以与默认语言不同的语言显示新闻记录 但默认语言中不存在记录 多语言配置是 config sys language mode strict sys language overlay 0 页面上的插件设置为 所有语言 仅以默认语言存在
  • “无法分析类:可能未加载或没有自动加载器?”

    我用一个 viewhelper 创建了 我的第一个 扩展 糟糕 出现错误 无法分析类 My Mlv ViewHelpers Format ReplacenewlinesViewHelper 可能未加载或没有自动加载器 使用中 有新闻 nam
  • 如何在没有 Extbase 的情况下渲染流体视图模板?在电子邮件模板中通过 eID

    我想通过 TYPO3 eID 脚本使用 Fluid 模板文件来呈现邮件正文来发送电子邮件 我找不到一种简单的方法来在正常的 MVC Extbase 上下文之外初始化 Fuid 视图 我发现的所有来源似乎都已过时且非常复杂 那么渲染流体模板需
  • 如何使用typo3/extbase触发下载?

    我将 Typo3 与 extbase 和 Fluid 一起使用 我有一个控制器 其操作称为downloadAction 调用该操作后 系统尝试呈现下载模板 但我只想开始下载 public function downloadAction id
  • Typo3 版本 8 登录循环

    我有一个关于 Typo3 版本 8 LTS 的问题 我已经通过安装程序工具安装并配置了 TYPO3 但是 当我在安装后尝试登录时 登录过程会卡住 我得到的唯一信息是登录按钮显示 验证登录数据 旁边有一个旋转的加载符号 有人可以帮我解决这个问
  • 如何在 TYPO3 Extbase 扩展中包含或自动加载外部库? + 依赖注入?

    我正在使用 Extbase 1 4 开发 TYPO3 4 6 扩展 并且尝试包含外部库 图书馆 就我而言脸书 PHP SDK https github com facebook facebook php sdk 在下面 EXTKEY Res
  • TYPO3 v8.7 JQuery 包含在内吗?

    我将 TYPO3 版本从 6 2 31 更新到 8 7 19 现在 JS JQuery 出现了一些问题 我听说 JQuery 自动包含在新的 TYPO3 版本中 是对的吗 提前致谢 你需要更具体地回答这个问题 是的 v8 提供了 jquer
  • 带有方面的 RouteEnhancer 会抛出 InvalidParameterException

    我逐字使用了来自变更日志 https docs typo3 org typo3cms extensions core Changelog 9 5 Feature 86365 RoutingEnhancersAndAspects html p
  • 允许在 ckeditor 中嵌入 oembed 标签

    我想将 oembed 标签放入 TYPO3 的 ckeditor RTE 中 这样我想将像 Instagram Facebook 或 Twitter 这样的社交帖子放入一些新闻文章中 在一些文本的中间 为此 我激活了 ckeditor 的嵌
  • 如何为 tx_news TYPO3 设置面包屑

    我有一个 TYPO3 网站 我需要设置面包屑 对于新闻 我需要显示新闻标题来代替 新闻详细信息 新闻插件的页面标题 如何实施 我的代码是
  • typo3 extbase:验证表单

    我创建了一个简单的 订阅新闻通讯 表单
  • 如何对单个 TypoSript 对象生成进行基准测试?

    我想对单个 TypoScript 对象生成进行基准测试以控制性能 是否可以使用某些 stdWrap 方法 我想要对其进行基准测试的 TS 对象示例 Test 1 page 10 RECORDS page 10 tables pages so

随机推荐