问题标签 [typo3-10.x]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typo3 - 为什么 TYPO3 在 composer 安装后会抛出缺少服务的错误?
我有一个 TYPO3 V10 作曲家安装。
在作曲家更新后,我在前端收到了这条消息:
(1/1) Symfony\Component\DependencyInjection\Exception\RuntimeException 无法自动连接服务“TYPO3\CMS\Extensionmanager\Utility\InstallUtility”:方法“injectLateBootService()”的参数“$lateBootService”引用类“TYPO3\CMS\Install\ Service\LateBootService”,但不存在此类服务。
并在安装工具中显示该消息:
(1/1) #1519978105 TYPO3\CMS\Core\DependencyInjection\NotFoundException 容器条目“TYPO3\CMS\Install\Http\Application”不可用。
我试图删除供应商、TYPO3 和扩展文件夹,并使用以下方法进行了全新的作曲家安装:
我的 composer.json 并不特别:
typo3 - 迁移到 TYPO3 9+ 后继续重定向旧的 realurl url
我想使用过期 url 的 realurl 内存为升级到 TYPO3 9+ 的站点生成 301 并避免 404。
例如,在 TYPO3 9 之前,fetching/my-old-page
重定向到/my-new-page
,因为/my-old-page
仍在 realurl 数据库表中。现在,自从迁移到 TYPO3 9 后,获取/my-old-page
会抛出 404。
TYPO3 9 提供了一个升级向导,它将 realurl 页面路径/别名转换为 slug,但不会将 realurl 过期的页面路径/别名转换为sys_redirect
.
保留重定向的 realurl 内存的最佳策略是什么:
- 将所有过期的 url/别名迁移到 sys_redirect?这会导致一个很大的 sys_redirect 表,存在性能问题
- 在搜索过期 url 并触发 301 的 RedirectHandler 之后运行中间件?这将为每个请求进行额外的数据库查询。
- 如果找不到页面,创建一个 PageNotFoundHandler 来搜索过期的 url?TYPO3 每个状态代码只允许一个 ErrorHandler ,因此它可能是一个问题
- 列出 .htaccess 中的重定向
“最佳策略”是指:
- 性能可能很重要(我有超过 10,000 个过期网址)
- 如果可能,重定向应该由编辑器维护(如 sys_redirect)
感谢您的见解!
typo3-9.x - 如何迁移扩展以使用 TYPO3 10.x
我正在寻找一种如何迁移扩展以使用 TYPO3 V10 的指南。当我在谷歌上试试运气并且不知道从哪里开始时,我找不到太多东西。
我们实际上使用的是 TYPO3 9.5,我需要迁移我们网站上大量使用的 Comsolit 的 owl_slider。TER 不提供 TYPO3 V10 的版本。
任何提示表示赞赏。
typo3 - 如何迁移 config.persistence.classes 子类
如Breaking: #87623中所述,config.persistence.classes
打字稿配置被文件替换EXT:extension/Configuration/Extbase/Persistence/Classes.php
。
这是我的旧打字稿配置:
/Configuration/Extbase/Persistence/Classes.php
到目前为止,这是我的新文件:
如何使用子类配置缺少的部分?
typo3 - 使用 symfony 表达式语言的 TypoScript 条件引发错误
我有以下排版条件:
在 TYPO3 日志中引发此错误:
2020 年 9 月 24 日星期四 06:52:04 +0200 [错误] request="2fa420fbc8c67" component="TYPO3.CMS.Frontend.Configuration.TypoScript.ConditionMatching.ConditionMatcher":无法获取非对象的属性。- {"表达式":"request.getNormalizedParams().getHttpHost() == 'www.domain.com' && traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0 && 11 in tree.rootLineIds", "exception":"RuntimeException: Unable to get a property on a non-object. in /var/www/typo3cms/typo3_src-10.4.8/vendor/symfony/expression-language/Node/GetAttrNode.php:83
问题似乎是request.getNormalizedParams().getHttpHost()
cronjob 调用的时间typo3/sysext/core/bin/typo3 scheduler:run
。
如何摆脱日志文件中的错误?
typo3 - TYPO3 - 如何将 f:link.action 中的 cHash 删除为未缓存的操作?
编辑:@Wolffc 的答案是完全正确的——我的返回值是错误的,所以问题出在椅子和屏幕之间。
TYPO3 10.4.8
我正在使用 <f:link.action> 在邮件中生成一个链接,以验证对课程的订阅。
它不能被缓存,所以我可以检查链接是否已经被点击,但是链接中添加了一个 cHash。
文档说不应该使用 noCache 和 noCacheHash (“你不应该需要这个”),如果我添加它没有区别。
PageType 未缓存,1921.config.no_cache = 1
生成的链接导致(换行符以获得更好的可读性):
如您所见,有一个 cHash。首先点击链接会触发我的机制来检查所有内容并将订阅设置为有效,然后重定向到“成功”页面,它应该做什么。
第二次点击也会打开成功页面,但应该有“已经验证”的消息。当我调用没有 cHash 的链接时,该页面已打开。
为什么要添加 cHash,如何删除?
谢谢 :)
typo3 - TYPO3 10 在自己的扩展中使用快捷方式
我想在 TYPO3 的 CE 快捷方式中显示我自己的扩展。
我的扩展的按钮显示在列表视图下作为按钮。我可以选择一个条目并保存它。但我无法在前端访问选定的 id。
到目前为止我尝试了什么:
我在/Configuration/TCA/Overrides/tt_content.php
Method中添加了addToInsertRecords
。因此,选择条目的按钮显示在后端。
要在前端显示 Typoscript 是:
在 PHP 中
我可以从 TypoScript 访问变量。但我得到了字符串“field”=>“uid”。而不是选定的值 ID。
typo3-10.x - TYPO3 10.4 前端未找到新字段
我fe_users
使用扩展生成器扩展了带有新字段的数据库表。这些字段在后端用户界面中可见,但在 Typo3 10.4.x 的前端中不可用。但是相同的代码在 Typo3 9.x 前端和后端中运行良好。
我也尝试过将 recordType 设置为空,ext_typoscript_setup.typoscript
但这也无济于事
关于更多寻找的任何想法?
typo3 - 如何在 newsletter_subscribe 扩展中添加邮件模板?
提交时事通讯表格时出现错误。
我正在为我的 TYPO3 v10 通讯表单使用 newsletter_subscribe 扩展。没有添加模板的字段。我只能找到一个标有Template path for mails的字段。
这是为了什么以及如何解决错误?请帮我!