Я работаю над проектом SilverStripe. В моем проекте я добавляю компоненты в GridField динамически. На самом деле, я пытаюсь заменить существующие компоненты. Поскольку нет метода замены, я должен удалить существующие компоненты и добавить новые компоненты.
Ниже приведен мой код
$grid = new GridField('ContentBlocks', 'Content Blocks', $this->owner->ContentBlocks(), $editor);
$grid->getConfig()
->removeComponentsByType(GridFieldAddExistingAutocompleter::class)
->addComponent(new CustomGridFieldAddExistingAutocompleter())
//configuring other components continue here
Как вы можете видеть в моем коде, я удаляю существующий компонент и добавление нового пользовательского компонента в качестве замены того, который был удален.
Добавлен пользовательский компонент. Но есть проблема с этим. Проблема заключается в том, что на внешнем интерфейсе новый компонент не добавляется точно в том месте, в котором он был удален.
См. Этот снимок экрана:
![enter image description here](https://i.stack.imgur.com/oM9cU.png)
Как вы можете видеть на скриншоте, окно поиска (добавленный пользовательский компонент) вышло из контейнера или элемента div, в котором находится кнопка добавления блока содержимого. Если я не сделал эту замену, они оставайтесь в той же строке, что и на скриншоте ниже.
![enter image description here](https://i.stack.imgur.com/tEUCR.png)
Я думаю, что я ищу способ сгруппировать их вместе в один ряд Как я могу это сделать? Возможно ли это?