我有TYPO3 7.6.18版本。TYPO3 ObjectStorage不保存数据
我无法从前端保存下拉字段,在后端保存。
我TCA:
'眼镜'=>数组( '标签'=> 'LLL:EXT:feusersplus /资源/私人/语言/ locallang_db.xlf:tx_feusersplus_domain_model_user.glasses', '配置' =>数组( '类型'=> '选择', 'renderType'=> 'selectMultipleSideBySide', 'foreign_table'=> 'tx_feusersplus_domain_model_glasses', 'MM'=> 'tx_feusersplus_user_glasses_mm', 'foreign_table_where'=> 'AND tx_feusersplus_domain_model_glasses.sys_language_uid = ### REC_FIELD_sys_language_uid ###', 'maxitems'=>'50' ), ),
型号:
/**
* glasses
*
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Fhk\Feusersplus\Domain\Model\Glasses>
*
*/
protected $glasses;
/**
* Returns the glasses
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Fhk\Feusersplus\Domain\Model\Glasses> $glasses
*/
public function getGlasses()
{
return $this->glasses;
}
/**
* Sets the glasses
*
* @return void
*/
public function setGlasses($glasses)
{
$this->glasses = $glasses;
}
我的观点:
{namespace femanager=Fhk\Feusersplus\ViewHelpers}
<f:render section="default" arguments="{_all}" />
<f:section name="default">
<div class="femanager_fieldset femanager_glasses control-group">
<label for="femanager_field_glasses" class="control-label">
<f:translate key="tx_feusersplus.glasses"/>
<f:if condition="{femanager:Validation.IsRequiredField(fieldName:'glasses')}">
<span>*</span>
</f:if>
</label>
<div class="controls">
<femanager:form.select
id="femanager_field_glasses"
property="glasses"
options="{femanager:Form.GetGlasses()}"
class="input-block-level"
additionalAttributes="{femanager:Validation.FormValidationData(settings:settings,fieldName:'glasses')}" />
</div>
</div>
</f:section>
真的,我试过很多变种。清除所有缓存。它不适用于后端。帮我请人),但这并没有节省前端
这是行不通的(( – Mikael
我按照你的说法添加了代码,我发现它在fe_users表中的field眼镜中设置了glasses = 0,并且它没有将行添加到glasses_mm表中 – Mikael
它从glasses_mm中删除行,但是不添加行到这张表((你能帮忙,请 – Mikael