我经常在我的TCA中使用链接向导.
很难找到条件,我必须在Fluid(页面/电子邮件/外部)中呈现这种链接.有没有解决方案,还是我必须创建自己的ViewHelper?
我逐字使用了Changelog 中的示例:
我唯一改变的是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: '/'
Run Code Online (Sandbox Code Playgroud)
这会在 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', …Run Code Online (Sandbox Code Playgroud) 更新 TYPO3 后,我收到TYPO3Fluid\Fluid\Core\ViewHelper\Exception“传递给 ViewHelper 的未声明参数......有效参数是”。
因为这个,我刚刚有一个错误:
Fatal error: Cannot use TYPO3\CMS\Core\Utility\GeneralUtility
as GeneralUtility because the name is already in use
in /var/www/mysite/public/typo3temp/var/cache/code/cache_core/ext_localconf_feb178af00fe22e00dc62d7dcd6d4d16f5d4fc3a.php
on line 4508
Run Code Online (Sandbox Code Playgroud)
违规行有:
use TYPO3\CMS\Core\Utility\GeneralUtility;
Run Code Online (Sandbox Code Playgroud)
显然,某些扩展ext_localconf.php在我的系统上使用了“use” 。由于所有这些都连接到缓存中的一个文件中,因此可能会导致多个 use 语句。
是否还有某种方法可以使用“使用”而不会导致这些错误?推荐的方式是什么?
我检查了文档:
您绝不能在 files 全局范围内使用 use 语句 - 这会使缓存的脚本概念中断并可能与其他扩展名冲突。
在推荐的闭包函数中使用“use”,例如:
(function () {
// Add your code here
use TYPO3\CMS\Core\Utility\GeneralUtility;
// ...
})();
Run Code Online (Sandbox Code Playgroud)
导致我的系统出现语法错误。
专家们有什么建议?
顺便提一句。该领域中有多个扩展在 ext_localconf.php 的全局范围内具有 use 语句。如果我没记错的话,这可能会严重破坏。
如何为内容元素和插件配置图标?有没有快捷方式可以只配置一次而不是在 3 个地方配置?
AFAIK,在TYPO3 后端创建新的自定义内容元素和插件时,有 3 个位置可以配置图标:
我正在搜索TYPO3扩展,它允许我定义变量并在TYPO3后端的任何地方使用它们(类似于%CEO_NAME%).
客户想要集中定义名称和地址(例如他们的CEO),以便当另一个人获得工作时,他们可以只更改一次,并在每个RTE,页面标题,关键字等中替换它.
是否有一些扩展可以让我轻松地做到这一点,或者有一个简单的方法可以通过TS实现吗?
如果可能的话,我想避免为此编写自己的扩展,因为该项目的预算有点紧张.
我用扩展构建器创建了一个扩展.
在保存时,我收到此消息:
The object was updated. Please be aware that this action is publicly accessible unless you implement an access check. See https://docs.typo3.org/typo3cms/extensions/extension_builder/User/Index.html
我该如何解决这个问题?是的我读了这个页面但是没有有用的提示.
我正在使用form.upload ViewHelper 上传文件。
<f:form enctype="multipart/form-data" action="list" name="import" object="{import}" method="POST">
<f:form.upload name="file" property="file" />
<f:form.submit value="Submit" />
</f:form>
Run Code Online (Sandbox Code Playgroud)
问题是访问文件。$import 对象包含一个文件名,但该文件不存在。
我目前正在将一个非 Composer TYPO3 项目迁移到 Composer。
从我所看到和阅读的内容来看,自动加载发生了变化,文件结构发生了变化。您不能再通过扩展管理器导入扩展。此外,一些扩展只能通过 composer 安装(除非你做了丑陋的调整)。
此外,从安全角度来看,至少有一个攻击媒介被关闭,因为您无法再通过后端安装扩展。
文档和其他说明建议将 TYPO3 与 Composer 一起使用,但究竟有哪些优势,这些优势是否适用于所有情况?
例如,就我而言,我维护一个站点,更新 TYPO3 和扩展很容易。在实践中可能不会有很大的改进。我认为与包管理器一起工作很酷,但我还必须“销售”为什么我现在这样做而其他任务没有完成。
typo3 ×10
fluid ×3
typo3-9.x ×3
backend ×1
extbase ×1
hyperlink ×1
tx-news ×1
typo3-8.x ×1
typoscript ×1
view-helpers ×1