Typo3 类型3将图像上载字段添加到feuser

Typo3 类型3将图像上载字段添加到feuser,typo3,Typo3,打字错误3版本7.6.18。我需要为fe_用户添加上传图像的新字段?怎么做?我需要将此字段添加到前端和后端 ext_tables.php CREATE TABLE fe_users ( backgroundimage int(11) unsigned NOT NULL default '0' ); User.php class User extends \In2code\Femanager\Domain\Model\User { /** * @var string

打字错误3版本7.6.18。我需要为fe_用户添加上传图像的新字段?怎么做?我需要将此字段添加到前端和后端

ext_tables.php

CREATE TABLE fe_users (
    backgroundimage int(11) unsigned NOT NULL default '0'
);
User.php

class User extends \In2code\Femanager\Domain\Model\User
{
    /**
     * @var string
     */
    protected $backgroundimage = null;

    /**
     * Returns the background value
     *
     * @return string
     * @api
     */
    public function getBackgroundimage()
    {
        return $this->backgroundimage;
    }

    /**
     * Sets the image backgroundimage
     *
     * @param $backgroundimage
     */
    public function setBackgroundimage(\TYPO3\CMS\Extbase\Domain\Model\FileReference 
         $backgroundimage)
    {
        $this->backgroundimage = $backgroundimage;
    }

/**
     * __construct
     */
    public function __construct()
    {
        //Do not remove the next line: It would break the functionality
        $this->initStorageObjects();
    }

    /**
     * Initializes all ObjectStorage properties
     * Do not modify this method!
     * It will be rewritten on each save in the extension builder
     * You may modify the constructor of this class instead
     *
     * @return void
     */
    protected function initStorageObjects()
    {

    }
}
setup.txt

config.tx_extbase{
    persistence{
        classes{
            In2code\Femanager\Domain\Model\User {
                subclasses {
                    0 = Fhk\Feusersplus\Domain\Model\User
                }
            }
            Fhk\Feusersplus\Domain\Model\User {
                mapping {
                    tableName = fe_users
                    recordType = 0
                }
            }
        }
    }
    objects {
        In2code\Femanager\Controller\NewController.className  = Fhk\Feusersplus\Controller\NewController
        In2code\Femanager\Controller\EditController.className = Fhk\Feusersplus\Controller\EditController
        In2code\Femanager\Controller\UserController.className = Fhk\Feusersplus\Controller\UserController
        #Kennziffer\KeQuestionnaire\Domain\Repository\ResultRepository.className = Fhk\Feusersplus\Domain\Repository\ResultRepository
    }
}
这是我的档案。怎么了

这是我的Backgroundimage.html

{namespace femanager=Istar\Fefiles\ViewHelpers}

<f:render section="default" arguments="{_all}" />

<f:section name="default">
    <div class="femanager_fieldset femanager_backgroundimage control-group">
        <label for="femanager_field_backgroundimage" class="control-label">
            <f:translate key="tx_feusersplus_domain_model_user.backgroundimage" default="Profile background image"/>

        </label>

        <femanager:form.upload property="backgroundimage" >
            <f:if condition="{resource}">
                <f:image image="{resource}" alt="" width="50"/>
            </f:if>
        </femanager:form.upload><br />

    </div>
    </div>
</f:section>
好吗?我仍然有同样的错误((

现在我有以下错误:


属性路径“backgroundimage”处的属性映射时出现异常:标识属性“2.jpg”没有UID。

对于扩展FE用户,请执行以下步骤

更新的答案

只需更新模型文件User.php,如下所示

/**
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
*/
protected $backgroundimage = null;
创建外部表。sql

CREATE TABLE fe_users (
    imsge int(11) unsigned NOT NULL default '0',
);
ext_tables.php文件中的图像字段添加TCA配置

$tempColumns = Array (
    'image' => array(
        'exclude' => 1,
        'label' => 'Add image Lables',
        'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
            'image',
            array(
                'appearance' => array(
                    'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
                ),
                'foreign_types' => array(
                    '0' => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    )
                ),
                'maxitems' => 1
            ),
            $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
        ),
        'pdf,doc,docx'
    ),
  ),
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns("fe_users",$tempColumns,1);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes("fe_users","image");
映射带有fe_用户表的图像字段。ext_typoscript_setup.txt

config.tx_extbase{
    persistence{
        classes{
            TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
                subclasses {
                    Tx_Extendfeuser_User = VendorName\ExtensionName\Domain\Model\User
                }
            }
            VendorName\ExtensionName\Domain\Model\User {
                mapping {
                    tableName = fe_users
                    recordType = 0
                }
            }            
        }
    }
}
创建模型场User.php

<?php
namespace VendorName\ExtensionName\Domain\Model;

/***************************************************************
 *
 *  Copyright notice
 *
 *  (c) 2015
 *
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
 *
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/

/**
 * Users
 */
class User extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

    /**
     * image
     *
     * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
     */
    protected $image = null;

    /**
     * Returns the image
     *
     * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * Sets the image
     *
     * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image image
     *
     * @return void
     */
    public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image)
    {
        $this->image = $image;
    }

}

对于扩展FE用户,请遵循以下步骤

更新的答案

只需更新模型文件User.php,如下所示

/**
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
*/
protected $backgroundimage = null;
创建外部表。sql

CREATE TABLE fe_users (
    imsge int(11) unsigned NOT NULL default '0',
);
ext_tables.php文件中的图像字段添加TCA配置

$tempColumns = Array (
    'image' => array(
        'exclude' => 1,
        'label' => 'Add image Lables',
        'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
            'image',
            array(
                'appearance' => array(
                    'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
                ),
                'foreign_types' => array(
                    '0' => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    ),
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => array(
                        'showitem' => '
                        --palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
                        --palette--;;filePalette'
                    )
                ),
                'maxitems' => 1
            ),
            $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
        ),
        'pdf,doc,docx'
    ),
  ),
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns("fe_users",$tempColumns,1);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes("fe_users","image");
映射带有fe_用户表的图像字段。ext_typoscript_setup.txt

config.tx_extbase{
    persistence{
        classes{
            TYPO3\CMS\Extbase\Domain\Model\FrontendUser {
                subclasses {
                    Tx_Extendfeuser_User = VendorName\ExtensionName\Domain\Model\User
                }
            }
            VendorName\ExtensionName\Domain\Model\User {
                mapping {
                    tableName = fe_users
                    recordType = 0
                }
            }            
        }
    }
}
创建模型场User.php

<?php
namespace VendorName\ExtensionName\Domain\Model;

/***************************************************************
 *
 *  Copyright notice
 *
 *  (c) 2015
 *
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
 *
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/

/**
 * Users
 */
class User extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {

    /**
     * image
     *
     * @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
     */
    protected $image = null;

    /**
     * Returns the image
     *
     * @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * Sets the image
     *
     * @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image image
     *
     * @return void
     */
    public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image)
    {
        $this->image = $image;
    }

}

请尝试类似此User.php的模型

<?php
namespace VendorName\ExtensionName\Domain\Model;

/**
 * Users
 */
class User extends \In2code\Femanager\Domain\Model\User {

    /**
     * image
     *
     * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
     */
    protected $image = null;

    /**
     * Returns the image
     *
     * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $image
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * Sets the image
     *
     * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $image image
     *
     * @return void
     */
    public function setImage(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $image)
    {
        $this->image = $image;
    }

}

请尝试类似于User.php的模型

<?php
namespace VendorName\ExtensionName\Domain\Model;

/**
 * Users
 */
class User extends \In2code\Femanager\Domain\Model\User {

    /**
     * image
     *
     * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
     */
    protected $image = null;

    /**
     * Returns the image
     *
     * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $image
     */
    public function getImage()
    {
        return $this->image;
    }

    /**
     * Sets the image
     *
     * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $image image
     *
     * @return void
     */
    public function setImage(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $image)
    {
        $this->image = $image;
    }

}

谢谢您,Pravin!我尝试了您编写的代码,但出现了错误。在属性路径“”处进行属性映射时出现异常:PHP可捕获致命错误:参数1传递到Fhk\Feuersplus\Domain\Model\User::setBackgroundimage()必须是TYPO3\CMS\Extbase\Domain\Model\FileReference的实例,字符串给定,在第209行的/home/abenteuer/public\u html/TYPO3/sysext/Extbase/Classes/Reflection/ObjectAccess.php中调用,并在/home/abenteur/public\u html/typo3conf/ext/feuersplus/Classes/Domain/Model/User.php第667行中定义(请您帮助我好吗)用户模型中有extend\TYPO3\CMS\Extbase\Domain\Model\FrontendUser我需要extend\In2code\Femanager\Domain\Model\User,可以吗?检查ext\u typoscript\u setup.txt文件并确认名称空间是否正确。“Fhk\feuersplus\Domain\Model\User”或者不。安装/unistall扩展后更改代码您需要创建ext\u typoscript\u setup.txt文件并将此文件添加到扩展根目录。谢谢您,Pravin!我尝试了您编写的代码,但出现错误。在属性路径进行属性映射时出现异常“”:PHP可捕获致命错误:参数1传递给Fhk\Feusersplus\Domain\Model\User::setBackgroundimage()必须是TYPO3\CMS\Extbase\Domain\Model\FileReference的实例,字符串给定,在第209行的/home/abenteuer/public\u html/TYPO3/sysext/Extbase/Classes/Reflection/ObjectAccess.php中调用,并在/home/abenteur/public\u html/typo3conf/ext/feuersplus/Classes/Domain/Model/User.php第667行中定义(请您帮助我好吗)用户模型中有extend\TYPO3\CMS\Extbase\Domain\Model\FrontendUser我需要extend\In2code\Femanager\Domain\Model\User,可以吗?检查ext\u typoscript\u setup.txt文件并确认名称空间是否正确。是否为“Fhk\Feusersplus\Domain\Model\User”。安装后更改代码/unistall extension您需要创建ext\u typoscript\u setup.txt文件并将此文件添加到扩展根目录中。我有错误(我尝试了您在属性路径“”处进行属性映射时编写的代码):PHP可捕获的致命错误:参数1传递到Fhk\Feusersplus\Domain\Model\User::setBackgroundimage()必须是TYPO3\CMS\Extbase\Persistence\ObjectStorage的实例,字符串给定,在第209行的/home/abenteuer/public\u html/TYPO3/sysext/Extbase/Classes/Reflection/ObjectAccess.php中调用,并在/home/abenteur/public\u html/typo3conf/ext/feuersplus/Classes/Domain/Model/User.php第667行中定义,我认为您必须像我对图像所做的那样创建实例model@return\TYPO3\CMS\Extbase\Persistence\ObjectStorage$imageI中的字段有错误(我尝试了您在属性路径“”处进行属性映射时编写的代码异常):PHP可捕获致命错误:参数1传递给Fhk\Feusersplus\Domain\model\User::setBackgroundimage()必须是TYPO3\CMS\Extbase\Persistence\ObjectStorage的实例,字符串给定,在第209行的/home/abenteuer/public\u html/TYPO3/sysext/Extbase/Classes/Reflection/ObjectAccess.php中调用,并在/home/abenteur/public\u html/typo3conf/ext/feuersplus/Classes/Domain/Model/User.php第667行中定义,我认为您必须像我对图像所做的那样创建实例模型@return\TYPO3\CMS\Extbase\Persistence\ObjectStorage$image中的字段