Silverstripe:从 many_many 关系自定义上传中获取 var [英] Silverstripe: get var from many_many relation custom upload
问题描述
我想知道如何自定义此上传字段以从 $belongs_many_many Act 表中获取.
I would like to know how customize this uploadfield to get from $belongs_many_many Act table.
部分代码....
<?
class MultipleBlock extends DataObject {
private static $db = array(
'Act' => 'Varchar',
private static $many_many = array(
'MultipleBlockColumns' => 'MultipleBlockColumn'
);
}
class MultipleBlockColumn extends DataObject {
static $belongs_many_many = array(
'MultipleBlocks' => 'MultipleBlock'
);
private static $has_one = array(
'Image' => 'Image',
);
$fields->addFieldToTab('Root.Image',$uploadField = new UploadField(
$name = 'Image',
$title = 'Image'
)
);
enter code here
$uploadField->setFolderName('Uploads/Subsite'.Subsite::currentSubsiteID().'/images/'.$var);
}
我尝试了这些方法来获取 Act 变量,但没有出现:
I have tried these methods to get Act variable but nothing appear:
$var=$this->Parent->MultipleBlocks->Act;
$var=$this->many_many(MultipleBlocks)->Act;
$var=$this->Parent->Act;
有什么想法吗?提前致谢!
Any idea? Thanks in advance!
推荐答案
哇...经过几天的学习,对 Silverstripe 有了更多的了解,我找到了我的解决方案.从 MultiBlock 列实现 MultiBlocks 是这样的:
Wow... after some days, and learning Silverstripe little more, I have found my solution. To achieve MultiBlocks from MultiBlock column is this :
parent::MultipleBlocks();
为了自定义保存到文件夹,有我的代码...它运行良好.必须先创建 MultiBlockColumns 的 ID.
To make my save to folder customization, there is my code... It works perfectly well. The ID of the MultiBlockColumns must be create first.
$parent = parent::MultipleBlocks();
$uploadField->setFolderName('Uploads/Subsite'.Subsite::currentSubsiteID().'/images/'.$parent['MultipleBlock']->Act);
就是这样!感谢您提交想法.
That's it! Thanks for submitting idea.
这篇关于Silverstripe:从 many_many 关系自定义上传中获取 var的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!