【发布时间】:2022-07-05 20:37:45
【问题描述】:
是否可以默认添加many_many关系?
我正在使用每个站点都有一个博客的子站点模块,但我们希望能够标记博客帖子,以便它们可以出现在任何其他子站点上:
- 子网站 1
- 子站点 2
- 子网站 3
我将此设置作为 BlogPost 的扩展:
private static $many_many = [
'Subsites' => Subsite::class
];
$fields->addFieldToTab('Root.PostOptions',
TagField::create('Subsites','Show on other sites',Subsite::get(),$this->owner->Subsites())
->setShouldLazyLoad(false)
->setCanCreate(false)
);
如何在创建 BlogPost 时将当前子站点添加为默认关系,以便 Subsite2 下的每个 BlogPost 默认都有一个“Subsite2”标签,即使用
Subsite::get_by_id(SubsiteState::singleton()->getSubsiteId())
如果这没有意义,我会尝试解释更多:)
【问题讨论】:
标签: silverstripe-4