当前位置: 首页 > 知识库问答 >
问题:

在自己的模型中键入3 Extbase fe_用户UID

詹亮
2023-03-14

我在TYPO3 6.2中创建了一个extbase插件。在一个表中,我有一个字段"fuid",我想存储fe_usersuid,以知道哪个用户可以编辑此记录。

我在createAction中设置了"fuid":

$newLocation->setFuID((int) $GLOBALS['TSFE']->fe_user->user['uid']);

这项工作。在数据库中是正确的UID。

但在行动中:

$location->getFuID()
returns null

为什么?

TCA:

fu_i_d' => array(
            'exclude' => 1,
            'label' => 'LLL:EXT:pitss24/Resources/Private/Language/locallang_db.xlf:tx_pitss24_domain_model_location.fu_i_d',
            'config' => array(
                'type' => 'select',
                'items' => array (
                        array('',0),
                ),
                'foreign_table' => 'fe_users',
                'foreign_class' => '\TYPO3\CMS\Extbase\Domain\Model\FrontendUser',
                'minitems' => 0,
                'maxitems' => 1,
                'size' => 10,
                'appearance' => array(
                    'collapseAll' => 0,
                    'levelLinksPosition' => 'top',
                    'showSynchronizationLink' => 1,
                    'showPossibleLocalizationRecords' => 1,
                    'showAllLocalizationLink' => 1
                ),
            ),
        ),

在后端/TYPO3都可以!

共有3个答案

阎单鹗
2023-03-14

如果没有适当的模型视图,很难说。很可能您的模型和TCA之间不匹配:一方面您使用的是整数(setFuID()),另一方面您使用的是对象(foreign_table/foreign_class)。也许在你把它调整到原来的状态后,它就起作用了。

白志勇
2023-03-14

我发现了错误!extensionBuilder在模型中写入错误的数据:

正确的值是:

型号:

/*
 *
 * @var TYPO3\CMS\Extbase\Domain\Model\FrontendUser
 */
protected $fuID = NULL;

...
...
...

/**
 * Returns the fuID
 *
 * @return TYPO3\CMS\Extbase\Domain\Model\FrontendUser fuID
 */
public function getFuID() {
    return $this->fuID;
}

/*
 * Sets the fuID
 *
 * @param string $fuID
 * @return TYPO3\CMS\Extbase\Domain\Model\FrontendUser fuID
 */
public function setFuID(TYPO3\CMS\Extbase\Domain\Model\FrontendUser $fuID) {
    $this->fuID = $fuID;
}

控制器:

/**
     * User Repository
     *
     * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
     * @inject
     */
    protected $userRepository;

    /**
     * Den aktuell angemeldeten User auslesen
     *
     * @return \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
     */
    public function getCurrentUser() {
        if ($this->currentUser == NULL && $GLOBALS['TSFE']->fe_user->user['uid'] > 0) {
            $this->currentUser = $this->userRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid']);
        }

        return $this->currentUser;  
    }
宋晋
2023-03-14

在模型文件中。

/**
 * feuseruid
 *
 * @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
 */
protected $feuseruid;

// GET and SET Methods

/**
 * Returns the feuseruid
 *
 * @return \TYPO3\CMS\Extbase\Domain\Model\FrontendUser feuseruid
 */
public function getFeuseruid() {
     return $this->feuseruid;
}

/*
 * Sets the feuseruid
 *
 * @param string $feuseruid
 * @return \TYPO3\CMS\Extbase\Domain\Model\FrontendUser feuseruid
 */
public function setFeuseruid(\TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feuseruid) {
     $this->feuseruid = $feuseruid;
}

在TCA文件

'feuseruid' => array(
    'exclude' => 1,
    'label' => 'Feuser Id',
    'config' => array(
        'type' => 'inline',
        'foreign_table' => 'fe_users',
        'minitems' => 0,
        'maxitems' => 1,
        'appearance' => array(
            'collapseAll' => 0,
            'levelLinksPosition' => 'top',
            'showSynchronizationLink' => 1,
            'showPossibleLocalizationRecords' => 1,
            'showAllLocalizationLink' => 1
        ),
    ),
),

在Sql中。php

feuseruid int(11) unsigned DEFAULT '0' NOT NULL,

控制器

/**
 * User Repository
 *
 * @var \TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository
 * @inject
 */
protected $userRepository;

$userObject = $this->userRepository->findByUid($GLOBALS['TSFE']->fe_user->user['uid']);
$orders->setFeuseruid($userObject);
$this->yourRepository->add($orders);
 类似资料:
  • 我发现很难创建自己的openNLP模型。谁能告诉我,如何拥有自己的模型。培训应该如何进行。 输入应该是什么,输出模型文件将存储在哪里。

  • 我对django很新,我正在工作一个工作门户网站。我的用户是招聘人员和学生。当招聘人员发布工作时,我可以从表单中检索所有值,但无法插入实习模型。你们能帮忙吗? 下面是我的代码: models.py views.py

  • 我有一个无界数据源(Kafka流)作为我的beam工作的输入。 数据的特性: 它们是元素组(组大小介于5-20个元素之间)。 每个组的键是唯一的标识符,并且仅用于该组。 组中第一个元素和最后一个元素之间的最大时间差小于2秒。 null 我的问题是:有没有一种方法可以让我在自己的窗口中分组每个键,并在一定时间后关闭它?非常感谢

  • 问题内容: 好吧,我该怎么做? 我想让一个模型具有对自身的外键引用。当我尝试创建此代码时,我收到django验证错误,该错误尚未定义Example。 问题答案: 你应该用

  • 我在项目目录中有一个自己的模块,并将其导入到代码中。 main.py my_模块.py: 在PyCharm中运行代码没有问题。但是当我试图“在控制台中执行选择”时,我得到 < code>Traceback(最近一次调用last): File " 如何在PyCharm控制台中导入自己的模块?

  • 更新(阅读后传递额外的属性到maven原型:生成): 我创造了自己的原型。src/main/资源/原型资源/pom.xml: 想要使用我自己的第三方deps工件和第三方deps版本参数。所以我添加了src/main/resources/META-INF/maven/archetype元数据。xml文件: 将archetype安装到我的本地存储库中。然后根据我的自定义原型创建工件: mvn原型:生成