Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 扩展类型3女性管理者_Typo3_Extbase - Fatal编程技术网

Typo3 扩展类型3女性管理者

Typo3 扩展类型3女性管理者,typo3,extbase,Typo3,Extbase,有没有人有一个如何在TYPO3 8.7上扩展femanager 3.3.0的工作示例 我创建了一个新的扩展,它完成了所有工作(fe_user、TCA、Partials等的新数据库字段)。我在femanager插件中有新字段,可以为前端选择它们 注册有效:新字段保存在数据库中。 日志中有一条警告: Core: Error handler (FE): PHP Warning: Declaration of TOCO3\TocoLedes\Controller\NewController::crea

有没有人有一个如何在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);
    }
}

我期待着任何想法,或者-这将是伟大的-一个工作示例扩展(不幸的是,FemanagerExpanded已经过时了:-()

只需使用github上的示例即可


它与femananger 3.3.0完美配合

问题在于,以下打字脚本未通过扩展包含正确包含。如果我在配置文件编辑页面直接将其作为扩展模板添加,它会工作

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
}
}


我将不得不花一些时间来调查它,以找出原因;-)

为了帮助其他有相同问题的人,也许我也有一个PHP 7警告的解决方案(借助Steffen Kamper和这里的一些提示:):

  • 创建一个XCLASS

    myext/XClass/Extbase/Mvc/Controller/Argument.php

  • 有关详细信息,请参阅
    

    看看我的评论。。我对过时的扩展没有任何问题
    femanagerextended


    祝你好运。

    对不起,EditController:BardehleLedes->ToColledes中有一个输入错误。我注意到:“创建XCLASS”后面的那行实际上不是文件路径。我盲目地复制了它,直到我注意到文件夹名称应该是“XCLASS”,而不是“XCLASS”,并且该文件夹必须是“Classes”的子文件夹“使Xclass正常工作。