我想知道如何自定義此uploadfield從$ belongs_many_many Act表獲得。Silverstripe:var從many_many關係自定義上傳
代碼的一部分....
<?
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);
}
我曾嘗試這些方法來獲取變量法,但沒有出現:
$var=$this->Parent->MultipleBlocks->Act;
$var=$this->many_many(MultipleBlocks)->Act;
$var=$this->Parent->Act;
任何想法? 在此先感謝!
php示例僅顯示如何遍歷塊並訪問「Act」變量。它不處理任何東西在模板/佈局中呈現它。 – muskie9
如果我明白...這是不可能的。但是,如果關係有很多並且有一個,那麼你認爲我可以用$ this-> MultipleBlocksID-> Act獲得表變量Act嗎?對模板沒有變化,而是對上傳字段進行了自定義。 – StefGuev
如果您的MultipleBlock has_many MultipleBlockColumns和has_one以其他方式執行,那麼您可以執行'$ yourMultipleBlockColumns-> MultipleBlockRelationName() - > Act'來獲取該變量。我已經更新了我的上述答案,以顯示如何更完整地完成此操作。 – muskie9