我在TYPO3 6.2中创建了一个extbase插件 . 在一个表中,我有一个字段“fuid”,我想存储fe_users uid,以了解哪个用户可以编辑此记录 .
我在createAction中设置了“fuid”:
$newLocation->setFuID((int) $GLOBALS['TSFE']->fe_user->user['uid']);
这项工作 . 在数据库中是正确的UID .
但是在editAction中:
$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 回答
在模型文件中 .
在TCA文件中
在Sql.php中
在控制器中
我发现了错误! extensionBuilder在模型中写入错误的数据:
正确的 Value 观是:
模型:
控制器:
没有适当的模型视图很难说 . 您的模型和TCA之间很可能不匹配:一方面,您使用的是整数(setFuID()),另一方面,您有一个对象(foreign_table / foreign_class) . 也许它在您将其调整为相同之后仍在工作 .