有人有关于如何在TYPO3 8.7上扩展femanager 3.3.0的工作示例吗?
我创建了一个新的扩展程序,完成了所有事情(fe_user的新数据库字段、TCA、Partials等)。我在femanager插件中拥有新字段,并可以在前端选择它们。
注册正在工作:新字段已保存在数据库中。 日志中有警告:
Core: Error handler (FE):
PHP Warning: Declaration of TOCO3\TocoLedes\Controller\NewController::createAction(TOCO3\TocoLedes\Domain\Model\User $user)
should be compatible with In2code\Femanager\Controller\NewController::createAction(In2code\Femanager\Domain\Model\User $user) in \www\typo3conf\ext\toco_ledes\Classes\Controller\NewController.php line 0
然而,这似乎不是一个问题。
但是:编辑
个人资料编辑页面显示了我选择的所有新字段(在插件中选择),但没有加载这些字段的值(它们为空)。如果我尝试保存个人资料,我会收到以下错误:
Core: Exception handler (WEB):
Uncaught TYPO3 Exception: #1297759968:
Exception while property mapping at property path "":
Property "newfield" was not found in target object of type
"In2code\Femanager\Domain\Model\User". |
TYPO3\CMS\Extbase\Property\Exception thrown in file
\www\typo3_src-8.7.8\typo3\sysext\extbase\Classes\Property\PropertyMapper.php in line 127.
很奇怪的是,创建(注册)可以正常工作,但编辑却不能! 我认为有趣的部分是:
config.tx_extbase{
persistence{
classes{
In2code\Femanager\Domain\Model\User {
subclasses {
0 = TOCO3\TocoLedes\Domain\Model\User
}
}
TOCO3\TocoLedes\Domain\Model\User {
mapping {
tableName = fe_users
recordType = 0
}
}
}
}
objects {
In2code\Femanager\Controller\NewController.className = TOCO3\TocoLedes\Controller\NewController
In2code\Femanager\Controller\EditController.className = TOCO3\TocoLedes\Controller\EditController
}
}
EditController.php
namespace TOCO3\TocoLedes\Controller;
class EditController extends \In2code\Femanager\Controller\EditController {
/**
* action update
*
* @param TOCO3\TocoLedes\Domain\Model\User $user
* @validate $user In2code\Femanager\Domain\Validator\ServersideValidator
* @validate $user In2code\Femanager\Domain\Validator\PasswordValidator
* @return void
*/
public function updateAction(\TOCO3\TocoLedes\Domain\Model\User $user) {
parent::updateAction($user);
}
}
我期待任何想法或者 - 如果有的话 - 一个可工作的样例扩展(不幸的是 femanagerextended 已过时 :-()