Я хотел бы знать, как настроить это загрузочное поле, чтобы перейти из таблицы $ belongs_many_many Act.Silverstripe: get var from many_many relationship custom upload
Часть кода ....
<?
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
Если я понимаю ... Это невозможно сделать. Но, если у отношения было много и есть один, вы думаете, что мне удастся получить переменную таблицы Act с помощью $ this-> MultipleBlocksID-> Act? Не получать переменную для шаблонов, а настраивать для поля загрузки. – StefGuev
Если ваш MultipleBlock has_many MultipleBlockColumns и has_one идут другим путем, вы можете сделать '$ yourMultipleBlockColumns-> MultipleBlockRelationName() -> Act', чтобы получить эту переменную. Я обновил свой выше ответ, чтобы показать, как это будет сделано более полно. – muskie9