Проблемы с Silverstripe Elemental после создания связанных объектов данных
Факты: SS 4.0.1, dnadesign/silverstripe-elemental 2.x-dev, php 7.1 и Zauberfisches Vagrant box Jessy Version 3
Я сделал Элементный Элемент, который является держателем для отдельных элементов:
namespace R12page\Elements;
use DNADesign\Elemental\Models\BaseElement;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
use SilverStripe\Versioned\Versioned;
use UndefinedOffset\SortableGridField\Forms\GridFieldSortableRows;
class ImageRasterElement extends BaseElement
{
private static $singular_name = 'Image Raster Element';
private static $plural_name = 'Images Raster Elements';
private static $description = 'Generates an Image Raster for multiple single Elements';
private static $table_name = 'ImageRasterElement';
private static $has_many = [
'SingleElements' => SingleElement::class
];
private static $extensions = [
Versioned::class . '.stagedversioned',
];
public function getType()
{
return 'ImageRasterElement';
}
public function getCMSFields()
{
$fields = parent::getCMSFields();
$singleElements = $this->SingleElements();
$singleElementGridConfig = GridFieldConfig_RecordEditor::create();
$singleElementGridConfig->addComponent(new GridFieldSortableRows('SortOrder'));
$singleElementGrid = GridField::create('SingleElements', 'Single Elements of this Page', $singleElements, $singleElementGridConfig);
$fields->addFieldsToTab('Root.Main', $singleElementGrid);
return $fields;
}
}
Этот элемент имеет множество элементов: они выглядят так:
namespace R12page\Elements;
use R12page\Model\News;
use R12page\Model\People;
use R12page\Model\References;
use SilverStripe\ORM\DataObject;
use SilverStripe\Versioned\Versioned;
class SingleElement extends DataObject
{
private static $table_name = 'SingleElement';
private static $db = [
'Reference' => 'Boolean',
'People' => 'Boolean',
'News' => 'Boolean',
'SortOrder' => 'Int'
];
private static $has_one = [
'News' => News::class,
'People' => People::class,
'Reference' => References::class,
'ImageRasterElements' => ImageRasterElement::class
];
private static $summary_fields = [
'News.Headline' => 'News',
'People.Name' => 'People',
'Reference.Headline' => 'Reference'
];
private static $extensions = [
Versioned::class . '.stagedversioned',
];
}
Каждый отдельный элемент имеет has_one для объекта данных. Выглядит как:
namespace R12page\Model;
use R12page\Elements\SingleElement;
use SilverStripe\ORM\DataObject;
use SilverStripe\Versioned\Versioned;
class News extends DataObject
{
private static $table_name = 'News';
private static $db = [
'Headline' => 'Varchar',
'SubHeadline' => 'Varchar',
'Date' => 'Date',
'DatePublished' => 'Date',
'Content' => 'HTMLText',
'IsActiv' => 'Boolean',
'DisplayOnHomePage' => 'Boolean'
];
private static $has_one = [
'Mobile' => Size::class,
'Screen' => Size::Class
];
private static $has_many = [
'SingleElements' => SingleElement::class
];
private static $owns = [
'SingleElements'
];
private static $summary_fields = [
'Headline' => 'Headline',
'Mobile.Title' => 'Mobile',
'Screen.Title' => 'Screen'
];
private static $extensions = [
Versioned::class . '.stagedversioned',
];
}
Все идет нормально. Вот как это выглядит в админке.
Странная вещь, если я добавляю один Элемент и пытаюсь создать его, я получаю это:
Когда я обновляю страницу, я вижу содержимое страницы и могу сохранить ее без проблем. Когда, если использовать php_debug, все выглядит хорошо. У меня также нет сообщений об ошибках в консоли, которые, я думаю, связаны с проблемой, с которой я столкнулся. Я просто получаю те предупреждения:
Но я думаю, что предупреждения не должны быть проблемой. Чтобы быть точным, я получаю ошибку, потому что шрифт не загружается.
Пожалуйста, помогите мне отладить это. Я пробовал день дыры, чтобы заставить это работать. Я не могу определить проблему, которая у меня есть.
Это ответ, который я получаю обратно:
Для меня это выглядит хорошо.
Просмотр вещей, которые я могу подтвердить:
Элементные работы на чистой установке.
Если я переключаюсь в живой режим, ничего не меняется.
Если я пытаюсь использовать элемент содержимого, который поставляется с elemental, он ведет себя так же.