extbase 相关问题

Extbase是一个TYPO3 CMS扩展开发框架,与TYPO3 Fluid和TYPO3的Extension Builder密切合作。

使用自定义字段扩展 sys_category

在我的扩展中,我已将字段级别作为整数添加到数据库中。 TCA将该字段添加到后端。好的 按预期工作。 但我无法访问前端中的字段。 我“看到”了

回答 1 投票 0

如何在selectMultipleSideBySide TCA中为fieldControl添加自定义节点为TYPO3 11 LTS添加自定义控件

我下面的TCA在MM表中有很多记录用于并排多项选择。 'select_multiplesidebyside_6' => [ '标签' => 'select_multiplesidebyside_6 fieldControl', ...

回答 1 投票 0

为 MailMessage 创建附件

我想从我的 extbase 6.2 扩展发送不同的电子邮件。 在控制器类中,我编写了一个邮件函数,如下所示: (注意 $attachment 没有 @param - 请参阅最后我的问题) ...

回答 3 投票 0

Extbase TYPO3 - 使用自定义 WHERE 部分扩展查询

我有一个模型(“优惠”),它具有 lat/lng 属性以及许多其他元属性。在存储库方法中,我可以根据匹配的元数据获取报价,例如: $where[] = $qu...

回答 1 投票 0

带有自定义 ValueMapper 的 TYPO3 RouteEnhancer

我目前正在尝试实现自定义 RouteEnhancer。 是我一个人的问题,还是文档又严重不完整?我在 TYPO3 中找不到任何有关自定义增强器的信息

回答 1 投票 0

未找到ViewHelper

我折腾了8个多小时也没有解决。 我想要的只是在 Fluid 模板中调用 ViewHelper。我以前也这样做过,但从未遇到过类似的问题。 我的观点帮助...

回答 5 投票 0

TYPO3延长期末课程

我有以下问题: 我有以下问题: <?php declare(strict_types=1); namespace Abc\Def\Services; class TypoScriptProvider extends \TYPO3\CMS\Extbase\Configuration\BackendConfigurationManager { public function __construct() { } public function getTypoScriptSetupByPageid($pageId = null): array { $configurationManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Configuration\\BackendConfigurationManager'); $configurationManager->currentPageId = $pageId; $extbaseFrameworkConfiguration = $configurationManager->getTypoScriptSetup(); return $extbaseFrameworkConfiguration; } } 对于 TYPO3 v12 来说这是可行的,但现在 TYPO3 决定将 BackendConfigurationManager 作为 v13 中的最后一个类。我怎样才能延长这门课? 我试过这个 <?php declare(strict_types=1); namespace Abc\Def\Services; use TYPO3\CMS\Extbase\Configuration\BackendConfigurationManager; class TypoScriptProvider { protected BackendConfigurationManager $backendConfigurationManager; public function __construct(BackendConfigurationManager $backendConfigurationManager) { // Dependency Injection $this->backendConfigurationManager = $backendConfigurationManager; } public function getTypoScriptSetupByPageid(int $pageId = null): array { // Verwende eine Methode, um die Seiten-ID zu setzen $this->backendConfigurationManager->getCurrentPageId($pageId); // Abrufen des TypoScript-Setups $typoScriptSetup = $this->backendConfigurationManager->getTypoScriptSetup(); return $typoScriptSetup; } } 但是currentPageId无法访问,因为它现在受到保护。 ich怎么能做到这一点? @internal 仅在 Extbase 中使用,不是 TYPO3 Core API 的一部分。 来自 PHP-DocBlock 类。该类是内部类,不是公共 API 的一部分。它可以随时更改,而不会破坏或记录公共可用的 API。 重点是,BackendConfigurationManager 绑定到 ServerRequestInterface 并使用这些请求属性和参数。这个类已经被重构为 Symfony DI'able,并且要求必须从该类中删除状态,因为它现在成为一个真正的服务。并且 DI 服务器必须是无状态的,这意味着不再有 current page 属性和 setter/getter。其余的私有方法使用请求信息来检索值,并使用运行时缓存来存储该类外部的状态。 您也不应该直接使用 BackendConfigurationManager,而应该使用 ConfigurationManager,它根据传递的 ServerRequestInterface $request 对象中的属性使用前端或后端管理器。 public function getTypoScriptSetup(ServerRequestInterface $request): array 这是TYPO3 v13中方法的签名。这意味着您需要传递一个请求对象,该对象需要包含要设置的必需属性,因为该类从请求中读取页面信息。 在后端的情况下,它使用帖子正文中的 id 值或在上下文中获取参数。 如果不知道您的确切用例是什么,就很难给出准确的示例和指导来以正确的方式实现它。 您可以尝试创建一个虚假请求,如下例取自 TYPO3 核心测试(TBH 未在真实环境中进行测试): $request = (new ServerRequest())->withQueryParams(['id' => 123]); $typoScriptSetup = $this->backendConfigurationManager->getTypoScriptSetup($request); 对于 BackendConfigurationManager 的另一种方法同样有效,它需要传递 ServerRequestInterace 对象。

回答 1 投票 0

带有 typenum 的控制器操作

我在typo3 中遇到问题,无法通过typenum 访问我的控制器操作。我用的是typo3 v12。我的路线中有以下内容 - 路由路径:'/rss.xml' _controller: '文章::提要' 鲁夫特

回答 1 投票 0

TYPO3 控制器操作与 typenum

我在typo3 中遇到问题,无法通过typenum 访问我的控制器操作。我用的是typo3 v12。我的路线中有以下内容 - 路由路径:'/rss.xml' _controller: '文章::提要' 鲁夫特

回答 1 投票 0

如果表单验证失败,则从表单中删除提交的值

通过以下(缩短的)表格,我在 TYPO3 v12 中注册新用户: 通过以下(缩短的)表格,我在 TYPO3 v12 中注册新用户: <f:form action="register" name="registration" object="{registration}" id="register-form"> <f:form.textfield property="login" id="login" /> <f:form.textfield type="password" property="password" id="password" /> </f:form> 验证发生在模型中: class Registration extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity { /** * @var string * @Extbase\Validate("NotEmpty") * @Extbase\Validate("StringLength", options={"minimum": 8, "maximum": 30}) */ protected string $login = ''; /** * @var string * @Extbase\Validate("NotEmpty") * @Extbase\Validate("RegularExpression", options={"regularExpression": "/^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d).*$/"}) */ protected string $password = ''; } 提交表单时使用少于八个字符的登录名或密码将再次显示该表单。表单字段将显示提交的数据和相应的错误消息。这是正常行为。 现在我不想想在提交表单后返回密码,该字段应被清空。 我做了以下但没有运气: 我摆弄了控制器的initializeAction,但是当我在这里删除密码时,验证器总是会失败,因为它得到的是空值。 我尝试为表单字段设置默认值,但该值将被提交的值覆盖。 将密码作为名称传递应该可以完成这项工作: <f:form.textfield type="password" name="password" id="password" />

回答 1 投票 0

TCA 类型 json 的字段的正确 php 类型是什么?

我想在数据库中存储一些选项,如下所示: '问题选项' => [ '排除' => false, '标签' => 'xxx', '描述' => 'xxx', “配置”=>...

回答 1 投票 0

RealURL:从 URL 中删除控制器和操作

我有一个带有列表和显示操作的扩展。目前此扩展可以出现在多个页面上: /第1页/ /第2页/子页面/ 我已经这样配置 realurl: $GLOBALS['TYPO3_CONF_VARS']['

回答 2 投票 0

来自存储库的 Extbase-DISTINCT 值

从我的数据库中获取唯一的房间号。 我的表是 tx_example_domain_model_room,其中包含 startdatetime、enddatetime 和 roomKey 列。我想获取大于给定日期时间的 roomKey....

回答 1 投票 0

TYPO3 11.5:在控制器操作中获取无效域对象的属性

我的控制器中有两个操作,formAction()和sendOrderAction()。后者应该处理一个域对象 Order,该对象在提交 formAction 时进行验证。这按预期工作......

回答 1 投票 0

TYPO3 Extbase - 无法通过typnum渲染json

TYPO3 Extbase - 无法通过typnum渲染json 在列表/编辑/新建/删除操作(有效)旁边,我尝试以 json 形式呈现输出。但没有值呈现。如果我做一个简单的... $数据 = 数组(...

回答 1 投票 0

TYPO3 - ExtBase 中不同操作的不同模型

我想为同一控制器和同一类型的对象中的不同操作解决不同的模型。 例如,在列表视图中我需要一些额外的拇指预览,并且在详细信息

回答 1 投票 0

为什么通过代码登录FE用户后无法访问页面?

我正在尝试通过 extbase 扩展中的代码使用以下代码登录 FrontendUser: $loginData = 数组( '用户名' => $user['用户名'], 'uname' => $user['我们...

回答 1 投票 0

TYPO3 9.5 如何从存储的FileReference中获取文件

我们有 a21glossary 扩展,我们用我们自己的扩展 a21glossary_file 进行扩展。在我们的扩展中,我们对扩展表进行 TCA 覆盖并添加文件字段,如下所示: $字段= ...

回答 1 投票 0

TYPO3 Extbase:操作数应包含 1 列:

我想向控制器中的数据库添加()一条消息。到目前为止,这有效。 我有一个名为“message_tags”的列,其中保存了一个数组。 该数组是: 数组(5 项) 0 => 'dfsdfsd' (7...

回答 1 投票 0

详细页面的自己的分机路由失败

我正在努力解决路由问题。我已将 slug-field 添加到 TCA 并将配置添加到 config.yaml。在前端,网址生成正确,但是当我单击 Li...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.