Sonata_type_collection редактировать в модальном режимеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Sonata_type_collection редактировать в модальном режиме

Сообщение Anonymous »

В моем проекте есть страницы и связанные с ними элементы. Элемент может быть связан только с одной страницей.

У меня есть специальная форма для выбора маски поля и множества полей. Я хотел бы иметь список элементов, связанных со страницей, вместо встроенных форм. Можно ли открыть модальное диалоговое окно, в котором будет находиться форма редактирования, например, при добавлении элемента?

Является ли sonata_type_collection наиболее подходящим для этого?

PageAdmin

/**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper) {
$availableApiRoutes = [];
foreach ($this->getConfigurationPool()->getContainer()->get('router')->getRouteCollection()->all() as $name => $route) {
$route = $route->compile();
if (( strstr($name, "api_") === FALSE ) &&
( strstr($name, "admin") === FALSE ) &&
( strstr($name, "ajax") === FALSE ) &&
( strstr($name, "fos") === FALSE ) &&
( strstr($name, "sonata") === FALSE ) &&
( strstr($name, "add") === FALSE ) &&
( strstr($name, "edit") === FALSE ) &&
( strstr($name, "payment") === FALSE ) &&
( strstr($name, "suppr") === FALSE ) &&
( substr($name, 0, 1) !== "_" )) {
$availableApiRoutes[$name] = $name;
}
}
$formMapper
->add('route', FormType\ChoiceType::class , array(
'choices' => $availableApiRoutes,
))
->add('element', 'sonata_type_collection', array(), array('edit' => 'inline', 'inline'=>'table'))
;
}


И форма элемента:

ElementAdmin

/**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper) {
$formMapper
->add('page', 'sonata_type_model_hidden')
->add('id')
->add('title')
->add('type', 'sonata_type_choice_field_mask', array(
'choices' => array(
'texte' => 'texte',
'image' => 'image',
'gallery' => 'gallerie'
),
'map' => array(
'texte' => array('texte'),
'image' => array('image'),
'gallery' => array('gallery'),
),
'empty_value' => 'Choose an option',
'required' => true
))
->add('texte', CKEditorType::class, array(
'config' => array(
'uiColor' => '#ffffff'
)
))
->add('image', 'sonata_type_model_list', array(), array('link_parameters' => array('context' => 'cms')))
->add('gallery', 'sonata_type_model_list', array(), array(
'edit' => 'inline',
'inline' => 'table',
'link_parameters' => array(
'context' => 'cms',
'provider' => 'sonata.media.provider.image'
)
))
;
}


Подробнее здесь: https://stackoverflow.com/questions/396 ... t-in-modal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»