SilverStripe 4 beta3 — изображение из DataObject не отображается в Template.ss

Чувствуя себя немного глупо, я надеюсь, что это просто что-то новое в SS4, о котором я не подозреваю, и не только мой преклонный возраст становится лучше меня …

У меня есть UploadField в моем DataObject. Но когда я перебираю его в своем шаблоне, я не могу отобразить изображение.

MyPage.php:

<?php
use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
class MyPage extends Page {
private static $has_many = array(
'MyObjects' => MyObject::class
);
...

MyObject.php:

<?php
use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\ORM\DataObject;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\TabSet;
use SilverStripe\Forms\TextField;
use SilverStripe\AssetAdmin\Forms\UploadField;
use SilverStripe\Assets\Image;
use SilverStripe\AssetAdmin\Forms\PreviewImageField;
class MyObject extends DataObject {
private static $db = array(
'Title'         => 'Varchar(255)'
);
private static $has_one = array(
'MyImage'   => Image::class,
'MyPage'    => MyPage::class
);
public function getGeneratedCMSFields() {
$fields = FieldList::create(TabSet::create('Root'));
$fields->addFieldToTab('Root.Main', TextField::create('Title', 'Title'));
$fields->addFieldToTab('Root.Main', $img = UploadField::create('MyImage', 'My Image'));
$img->getValidator()->setAllowedExtensions = array('jpg', 'jpeg', 'gif', 'png');
$fields->removeFieldFromTab('Root.Main', 'MyPageID');
return $fields;
}
public function getCMSFields() {
$fields = $this->getGeneratedCMSFields();
return $fields;
}
}

MyPage.ss:

<% loop $MyObjects %>
<h1>$Title</h1>
<% with $MyImage %><img src="{$URL}" title="{$Up.Title}"><% end_with %>
<% end_loop %>

Это распечатывает тег $ Title и alt img, как и ожидалось, но без изображения. Я даже пытался уменьшить сложность просто <% loop $ MyObjects%> $ MyImage <% end_loop%> и до сих пор нет изображения. Что мне не хватает?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]