我想知道是否有可能在自定义扩展的自定义记录中创建某些字段,以在不使用调度程序任务或钩子的情况下自动从其他字段获取和保存数据?
我正试图从1:n关系中获取section
与自定义news
;
一个section
可以添加多个news
,但是没有news
拥有有关其父级section
的信息。
目标是在section
记录中自动保存有关news
的信息。
我只是通过使用group
类型的字段来进行尝试,但是当然,它只会显示我可以放入该字段中的内容。
以下示例:
域/型号:
/**
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\XXX\XXX\Domain\Model\Section>
* @lazy
*/
protected $sections;
[...]
/**
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\XXX\XXX\Domain\Model\Section>
* @return void
*/
public function setSection( $section)
{
$this->section = $section;
}
/**
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\XXX\XXX\Domain\Model\Section>
*/
public function getSections()
{
return $this->sections;
}
/**
* @param \XXX\XXX\Domain\Model\Section $sections
* @return void
*/
public function addSection(\XXX\XXX\Domain\Model\Section $sections)
{
$this->sections->attach($sections);
}
/**
* @param \XXX\XXX\Domain\Model\Section $sections
* @return void
*/
public function removeSection(\XXX\XXX\Domain\Model\Section $sections)
{
$this->sections->detach($sections);
}
TCA:
'xxx_newsframework_sections' => [
'label' => $localLang . 'tx_news_domain_model_news.xxx_newsframework_sections',
'config' => [
'type' => 'group',
'internal_type' => 'db',
'allowed' => 'tx_xxx_domain_model_section',
'MM' => 'tx_xxxnewslettersystem_section_news_mm',
'MM_table_where' => 'AND tx_xxx_news_mm.news_id=###THIS_UID###',
'MM_oppositeUsage' => [],
'size' => 10,
'fieldWizard' => [
'recordsOverview' => [
'disabled' => true,
],
],
],
],
上面字段的ext_tables.sql
xxx_newsframework_sections int(11) DEFAULT '0' NOT NULL