带有方面的 RouteEnhancer 会抛出 InvalidParameterException

2024-02-20

我逐字使用了来自变更日志 https://docs.typo3.org/typo3cms/extensions/core/Changelog/9.5/Feature-86365-RoutingEnhancersAndAspects.html#persistedaliasmapper:

我唯一改变的是 limitToPages。

routeEnhancers:
  NewsPlugin:
    type: Extbase
    limitToPages: [82]
    extension: News
    plugin: Pi1
    routes:
      - { routePath: '/{news_title}', _controller: 'News::detail', _arguments: {'news_title': 'news'} }
    defaultController: 'News::detail'
    aspects:
      news_title:
        type: PersistedAliasMapper
        tableName: 'tx_news_domain_model_news'
        routeFieldName: 'path_segment'
        routeValuePrefix: '/'

这在 9.5.4 中引发异常:

Symfony\Component\Routing\Exception\InvalidParameterException
Parameter "tx_news_pi1__news" for route "tx_news_pi1_0" must match "[^/]++" ("" given) to generate a corresponding URL.

in /var/www/example/htdocs/typo3_src-9.5.4/vendor/symfony/routing/Generator/UrlGenerator.php line 155


at Symfony\Component\Routing\Generator\UrlGenerator->doGenerate(array('tx_news_pi1__news' => 0), array('_controller' => 'News::detail'), array(), array(array('variable', '/', '[^/]++', 'tx_news_pi1__news', true), array('text', '/aktuelles/artikel')), array('tx_news_pi1__news' => ''), 'tx_news_pi1_0', 1, array(), array())
in /var/www/example/htdocs/typo3_src-9.5.4/vendor/symfony/routing/Generator/UrlGenerator.php line 128

目前,不存在其他路由增强器。但我成功地在同一页面上使用了更简单的配置并且有效:

NewsDetail:
  type: Extbase
  limitToPages: [82]
  extension: News
  plugin: Pi1
  routes:
    - { routePath: '/{news_id}', _controller: 'News::detail', _arguments: {'news_id': 'news'} }

不确定在哪里查找以及如何最好地排除故障。我希望有人遇到类似的问题或能给我指出正确的方向。


检查空的path_segment是否是这里的问题:

select count(*) from tx_news_domain_model_news where path_segment='';

Fix

如果有标题为空的新闻条目,您可能需要先删除它们或更新标题。

  • 运行更新向导:“更新 EXT:news 记录的 slug 字段“path_segment””(您可能必须先在升级向导中将其标记为“已撤消”(BE:升级 > 升级向导 > 运行升级向导)
  • 或者手动设置 tx_news_domain_model_news.path_segment
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有方面的 RouteEnhancer 会抛出 InvalidParameterException 的相关文章

  • TYPO3:存储库->findAll() 不起作用

    我正在构建一个带有后端模块的扩展 当我打电话给findAll 方法它返回一个 QueryResult 对象 我尝试用以下方法检索对象查找按Uid 并且它确实有效 我在打字稿中设置了存储pid plugin tx hwforms persis
  • TYPO3 StoragePid 和当前

    我构建了一个简单的注释 extbase 扩展 我想将其与打字稿一起包含在项目扩展 也是 extbase 中 项目扩展中的流畅代码如下所示
  • 扩展 sys_file_reference (FAL)

    我想用自己的字段扩展 sys file reference 所以我创建了该字段和 TCA 在后端 该字段可用 但我无法引用流体模板中的该字段 ext tables php CREATE TABLE sys file reference no
  • 获取其他语言的 TYPO3 Extbase Repository 项目

    如何从 extbase 存储库中获取不同语言的项目 我测试了什么 findByUid childUid query gt getQuerySettings gt setRespectSysLanguage FALSE query gt ge
  • TYPO3:从 Extbase 中的文件引用中获取路径

    我使用 Fluid 和 Extbase TYPO3 6 1 创建了一个自定义内容元素 您可以在其中定义图片 在图片设置中 我可以设置一个img链接 它的目标是一个文件 在我的控制器中我可以访问这些数据 this gt configurati
  • 如何在没有 Extbase 的情况下渲染流体视图模板?在电子邮件模板中通过 eID

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

    我在 TYPO3 4 5 26 上运行 realURL 1 12 6 我习惯于 realURL 创建包含 preVar 的路径 也适用于默认语言 例如 www example com de seite 和 www example com e
  • Typo3 CKEditor 图片来自 FAL

    我使用 CKEditor 设置了全新的 TYPO3 8 7 4 安装 并且rte ckeditor image从 FAL 获取图像 在文档中rte ckeditor image它说 最大尺寸与魔法图像的配置有关 必须在 Page TSCon
  • 如何使用 TYPO3 extbase Fluid 正确输出 DateTime

    我在数据库中存储了两个 dateTime 对象 2014 11 03 09 00 00 2014 10 21 13 45 00 当我尝试使用 ViewHelper format date 输出它们时
  • 在 Typo3 中实现 HTML 模板,内容不起作用或者是我的错误

    我尝试在typo3中实现html模板 通过本教程 http wiki typo3 org Templated Tutorial Basics http wiki typo3 org Templating Tutorial Basics 所有
  • Typo3 在特定页面的 body 标签中添加类

    我试图弄清楚如何有条件地将类添加到特定页面的正文标记 我试图通过typoscipt 来做到这一点 但一直无法弄清楚 也许有更好的方法来做到这一点 该网站使用的是 Typo3 版本 4 4 6 我试过这个没有用 page 4 bodyTag
  • TYPO3 存储库->添加不起作用

    我有 TYPO3 版本 7 6 18 newMessage TYPO3 CMS Core Utility GeneralUtility makeInstance Istar Femessages Domain Model Message n
  • TYPO3 9.5 URL 路由与 URL 段不起作用

    我对 Typo3 不太有经验 所以我希望我的问题 问题是一个非常简单的问题 我在 Ubuntu 上使用 Typo3 9 5 0 LTS instanz 以及 Apache 和 MySQL 问题是 URLS 路由 https typo3 or
  • TYPO3:如何将页面内容插入模板

    我有一些内容想要出现在 TYPO3 网站的多个页面上 我可以将其插入模板中 但我还希望该内容可以在富文本编辑器中编辑 所以我有了创建隐藏页面的想法 但我不知道如何将此内容插入到模板中 是否需要select打字稿声明 另外 作为后续问题 我可
  • 如何在 TYPO3 扩展中设置内容元素或插件的图标

    如何为内容元素和插件配置图标 有没有快捷方式可以只配置一次而不是在 3 个地方配置 AFAIK 有3个地方可以配置icons在创建新的自定义内容元素和插件时TYPO3后端 新内容元素向导 编辑内容元素 CE 时 CType list typ
  • Extbase查询比较同一个表中的两个字段

    是否可以在查询 API 中比较两个数据库字段 例如 我想比较字段 tstamp 和 crdate 如下所示 SELECT FROM tt content WHERE tstamp gt crdate 在查询 api 中我找不到解决方案 获取
  • 扩展构建器中的“映射到现有表”显示 TYPO3 中的奇怪问题

    在我的扩展中MyExt 我映射了模型Page to pagesTYPO3 中的表 首先它向我展示了type mismatch错误 无论如何我继续保存它 会发生以下情况 我的页面树变成这样 我的新记录表单仅显示 UID 而不显示标题 My P
  • 如何对单个 TypoSript 对象生成进行基准测试?

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

    我已经完成了静态 HTML 模板 我需要将其映射到typo3 以便内容是动态的 我遵循以下教程 https docs typo3 org typo3cms SitePackageTutorial FluidTemplates Index h
  • 在打字稿中添加链接参数

    我有我的网站设置 这样如果您使用移动设备 您将获得移动渲染模板 点击进入主站点 index php id mainsite 1 这一切都工作正常 但是我的移动模板底部有一个链接 显示 转到主站点 我希望它转到当前页面 id 的主模板页面 例

随机推荐