本文整理汇总了PHP中Sonata\AdminBundle\Form\FormMapper::create方法的典型用法代码示例。如果您正苦于以下问题:PHP FormMapper::create方法的具体用法?PHP FormMapper::create怎么用?PHP FormMapper::create使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sonata\AdminBundle\Form\FormMapper
的用法示例。
在下文中一共展示了FormMapper::create方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->modelManager->getEntityManager('Vidal\\MainBundle\\Entity\\User');
$yearToNumberTransformer = new YearToNumberTransformer($em);
$cityToStringTransformer = new CityToStringTransformer($em);
$formMapper->add('username', null, array('label' => 'E-mail', 'required' => true))->add('oldLogin', null, array('label' => 'Логин', 'required' => false))->add('avatar', 'iphp_file', array('label' => 'Аватарка', 'required' => false))->add('firstName', null, array('label' => 'Имя', 'required' => true))->add('lastName', null, array('label' => 'Фамилия', 'required' => true))->add('surName', null, array('label' => 'Отчество', 'required' => false))->add('ConfirmationScan', 'iphp_file', array('label' => 'Файл подтверждения', 'required' => false))->add('Confirmation', null, array('label' => 'Подтвержденный', 'required' => false))->add($formMapper->create('city', 'text', array('label' => 'Город'))->addModelTransformer($cityToStringTransformer))->add('emailConfirmed', null, array('label' => 'e-mail подтвержден', 'required' => false))->add('specialization', null, array('label' => 'Специализация', 'required' => false))->add('primarySpecialty', null, array('label' => 'Основная специальность', 'required' => false))->add('university', null, array('label' => 'ВУЗ', 'required' => false))->add('school', null, array('label' => 'Учебное заведение'))->add($formMapper->create('graduateYear', 'text', array('label' => 'Год выпуска', 'required' => false))->addModelTransformer($yearToNumberTransformer))->add('educationType', null, array('label' => 'Форма обучения', 'required' => false))->add('academicDegree', null, array('label' => 'Ученая степень', 'required' => false))->add('birthdate', null, array('label' => 'Дата рождения', 'required' => false, 'widget' => 'single_text'))->add('icq', null, array('label' => 'ICQ', 'required' => false))->add('dissertation', null, array('label' => 'Тема диссертации', 'required' => false))->add('professionalInterests', null, array('label' => 'Профессиональные интересы', 'required' => false))->add('jobPlace', null, array('label' => 'Место работы', 'required' => false))->add('jobSite', null, array('label' => 'Сайт', 'required' => false))->add('jobPosition', null, array('label' => 'Должность', 'required' => false))->add('jobStage', null, array('label' => 'Стаж работы по специальности', 'required' => false))->add('about', null, array('label' => 'О себе', 'required' => false))->add('jobPublications', null, array('label' => 'Публикации', 'required' => false))->add('oldUser', null, array('label' => 'Со старого сайта', 'required' => false))->add('created', null, array('label' => 'Зарегистрировался', 'required' => false));
}
示例2: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->getModelManager()->getEntityManager($this->getSubject());
$documentTransformer = new DocumentTransformer($em, $this->getSubject());
$tagTransformer = new TagTransformer($em, $this->getSubject());
$formMapper->add('photo', 'iphp_file', array('label' => 'Фотография', 'required' => false))->add('title', null, array('label' => 'Заголовок', 'required' => true))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes', 'entity', array('label' => 'Коды АТХ', 'class' => 'VidalDrugBundle:ATC', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('atc')->orderBy('atc.ATCCode', 'ASC');
}, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add('molecules', 'entity', array('label' => 'Активные вещества', 'help' => '(Molecule)', 'class' => 'VidalDrugBundle:Molecule', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('m')->orderBy('m.RusName', 'ASC');
}, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('infoPages', 'entity', array('label' => 'Представительства', 'help' => 'Информационные страницы (InfoPage)', 'class' => 'VidalDrugBundle:InfoPage', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('ip')->where("ip.CountryEditionCode = 'RUS'")->orderBy('ip.RusName', 'ASC');
}, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('nozologies', 'entity', array('label' => 'Заболевания МКБ-10', 'help' => '(Nozology)', 'class' => 'VidalDrugBundle:Nozology', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('n')->orderBy('n.NozologyCode', 'ASC');
}, 'required' => false, 'empty_value' => 'не указано', 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add($formMapper->create('hidden2', 'text', array('label' => 'Описания препаратов', 'required' => false, 'by_reference' => false, 'attr' => array('class' => 'doc')))->addModelTransformer($documentTransformer))->add('date', null, array('label' => 'Дата создания', 'required' => true))->add('video', 'iphp_file', array('label' => 'Видео', 'required' => false, 'help' => 'Загрузить флеш-видео в формате .flv'))->add('enabled', null, array('label' => 'Активна', 'required' => false));
}
示例3: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$subject = $this->getSubject();
$em = $this->getModelManager()->getEntityManager($subject);
$transformer = new DocumentToStringTransformer($em, $subject);
$formMapper->add($formMapper->create('DocumentID', 'text', array('label' => 'ID документа', 'required' => true, 'by_reference' => false))->addModelTransformer($transformer))->add('url', null, array('label' => 'Короткий адрес', 'required' => true))->add('title', null, array('label' => 'Название', 'required' => true))->add('body', 'textarea', array('label' => 'Содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('video', 'iphp_file', array('label' => 'Видео', 'required' => false, 'help' => 'Загрузить флеш-видео в формате .flv'))->add('priority', null, array('label' => 'Приоритет', 'required' => false))->add('created', null, array('label' => 'Дата создания', 'required' => false))->add('videos', 'sonata_type_collection', array('label' => 'Видео файлы', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('enabled', null, array('label' => 'Активен', 'required' => false));
}
示例4: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$subject = $this->getSubject();
$em = $this->getModelManager()->getEntityManager($subject);
$transformer = new DocumentToStringTransformer($em, $subject);
$formMapper->add($formMapper->create('DocumentID', 'text', array('label' => 'ID документа', 'required' => true, 'by_reference' => false))->addModelTransformer($transformer))->add('url', null, array('label' => 'Короткий адрес', 'required' => true))->add('title', null, array('label' => 'Название', 'required' => true))->add('body', 'textarea', array('label' => 'Содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('created', null, array('label' => 'Дата создания', 'required' => false))->add('enabled', null, array('label' => 'Активен', 'required' => false));
}
示例5: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->getModelManager()->getEntityManager($this->getSubject());
$documentTransformer = new DocumentTransformer($em, $this->getSubject());
$tagTransformer = new TagTransformer($em, $this->getSubject());
$formMapper->add('title', null, array('label' => 'Заголовок', 'required' => true))->add('link', null, array('label' => 'Адрес страницы', 'required' => false, 'help' => 'латинские буквы и цифры, слова через тире. Оставьте пустым для автогенерации'))->add('rubrique', null, array('label' => 'Рубрика', 'required' => true, 'empty_value' => 'выберите', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('r')->orderBy('r.title', 'ASC');
}))->add('type', null, array('label' => 'Категория', 'required' => false, 'empty_value' => 'не указано'))->add('states', null, array('label' => 'Болезни', 'required' => false, 'empty_value' => 'не указано'))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes', 'entity', array('label' => 'Коды АТХ', 'class' => 'VidalDrugBundle:ATC', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('atc')->orderBy('atc.ATCCode', 'ASC');
}, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add('molecules', 'entity', array('label' => 'Активные вещества', 'help' => '(Molecule)', 'class' => 'VidalDrugBundle:Molecule', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('m')->orderBy('m.RusName', 'ASC');
}, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('infoPages', 'entity', array('label' => 'Представительства', 'help' => 'Информационные страницы (InfoPage)', 'class' => 'VidalDrugBundle:InfoPage', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('ip')->where("ip.CountryEditionCode = 'RUS'")->orderBy('ip.RusName', 'ASC');
}, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('nozologies', 'entity', array('label' => 'Заболевания МКБ-10', 'help' => '(Nozology)', 'class' => 'VidalDrugBundle:Nozology', 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('n')->orderBy('n.NozologyCode', 'ASC');
}, 'required' => false, 'empty_value' => 'не указано', 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add($formMapper->create('hidden2', 'text', array('label' => 'Описания препаратов', 'required' => false, 'by_reference' => false, 'attr' => array('class' => 'doc')))->addModelTransformer($documentTransformer))->add('date', null, array('label' => 'Дата создания', 'required' => true))->add('synonym', null, array('label' => 'Синонимы', 'required' => false, 'help' => 'Через ;'))->add('metaTitle', null, array('label' => 'Мета заголовок', 'required' => false))->add('metaDescription', null, array('label' => 'Мета описание', 'required' => false))->add('metaKeywords', null, array('label' => 'Мета ключевые слова', 'required' => false))->add('video', 'iphp_file', array('label' => 'Видео', 'required' => false, 'help' => 'Загрузить флеш-видео в формате .flv'))->add('links', 'sonata_type_collection', array('label' => 'Ссылки Купить в интернет-аптеке', 'required' => false, 'by_reference' => false, 'type_options' => array('btn_delete' => true, 'btn_add' => true)), array('edit' => 'inline', 'inline' => 'table'))->add('enabled', null, array('label' => 'Активна', 'required' => false));
}
示例6: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$subject = $this->getSubject();
$em = $this->getModelManager()->getEntityManager($subject);
$tagTransformer = new TagTransformer($em, $subject);
$formMapper->add('title', 'textarea', array('label' => 'Заголовок', 'required' => true, 'attr' => array('class' => 'ckeditormizer')))->add('link', null, array('label' => 'Адрес страницы', 'required' => false, 'help' => 'латинские буквы и цифры, слова через тире. Оставьте пустым для автогенерации'))->add('rubrique', null, array('label' => 'Раздел', 'required' => true, 'attr' => array('class' => 'art-rubrique'), 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('r')->orderBy('r.title', 'ASC');
}))->add('type', null, array('label' => 'Категория', 'required' => false, 'attr' => array('class' => 'art-type')))->add('category', null, array('label' => 'Подкатегория', 'required' => false, 'attr' => array('class' => 'art-category')))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes-text', 'text', array('label' => 'Коды АТХ', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'atcCodes-text', 'placeholder' => 'Начните вводить название или код')))->add('nozologies-text', 'text', array('label' => 'Заболевания МКБ-10', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'nozologies-text', 'placeholder' => 'Начните вводить название или код')))->add('molecules-text', 'text', array('label' => 'Активные вещества', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'molecules-text', 'placeholder' => 'Начните вводить название или код')))->add('infoPages-text', 'text', array('label' => 'Представительства', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'infoPages-text', 'placeholder' => 'Начните вводить название')))->add('products-text', 'text', array('label' => 'Описания препаратов', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'doc')))->add('date', null, array('label' => 'Дата создания', 'required' => true, 'years' => range(2000, date('Y'))))->add('synonym', null, array('label' => 'Синонимы', 'required' => false, 'help' => 'Через ;'))->add('metaTitle', null, array('label' => 'Мета заголовок', 'required' => false))->add('metaDescription', null, array('label' => 'Мета описание', 'required' => false))->add('metaKeywords', null, array('label' => 'Мета ключевые слова', 'required' => false))->add('videos', 'sonata_type_collection', array('label' => 'Видео файлы', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('atIndex', null, array('label' => 'Отображать на главной', 'required' => false))->add('anons', null, array('label' => 'Отображать в анонсе', 'required' => false))->add('anonsPriority', null, array('label' => 'Приоритет в анонсе'))->add('hideDate', null, array('label' => 'Скрывать дату', 'required' => false))->add('code', null, array('label' => 'Дополнительный код', 'required' => false))->add('testMode', null, array('label' => 'В режиме тестирования', 'required' => false, 'help' => 'видно только если в конец url-адреса дописать ?test'))->add('enabled', null, array('label' => 'Активна', 'required' => false));
}
示例7: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$subject = $this->getSubject();
$em = $this->getModelManager()->getEntityManager($subject);
$tagTransformer = new TagTransformer($em, $subject);
$formMapper->add('companies', null, array('label' => 'Фарм-компании', 'required' => true, 'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('c')->orderBy('c.title', 'ASC');
}))->add('priority', null, array('label' => 'Приоритет', 'required' => false))->add('text', null, array('label' => 'Содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать тег', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes-text', 'text', array('label' => 'Коды АТХ', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'atcCodes-text', 'placeholder' => 'Начните вводить название или код')))->add('nozologies-text', 'text', array('label' => 'Заболевания МКБ-10', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'nozologies-text', 'placeholder' => 'Начните вводить название или код')))->add('molecules-text', 'text', array('label' => 'Активные вещества', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'molecules-text', 'placeholder' => 'Начните вводить название или код')))->add('infoPages-text', 'text', array('label' => 'Представительства', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'infoPages-text', 'placeholder' => 'Начните вводить название')))->add('products-text', 'text', array('label' => 'Описания препаратов', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'doc')))->add('created', null, array('label' => 'Дата создания', 'required' => true, 'years' => range(2000, date('Y'))))->add('enabled', null, array('label' => 'Активна', 'required' => false));
}
示例8: getFieldFormBuilder
/**
* @param \Sonata\AdminBundle\Form\FormMapper $formMapper
*
* @return \Symfony\Component\Form\FormBuilder
*/
protected function getFieldFormBuilder(FormMapper $formMapper)
{
// simulate an association ...
$fieldDescription = $this->getFormBuilderAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->formBuilderAdmin->getClass(), 'form_builder');
$fieldDescription->setAssociationAdmin($this->getFormBuilderAdmin());
$fieldDescription->setAdmin($formMapper->getAdmin());
$fieldDescription->setOption('edit', 'list');
$fieldDescription->setAssociationMapping(array('fieldName' => 'form_builder', 'type' => \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_ONE));
return $formMapper->create('formBuilderId', 'sonata_type_model', array('sonata_field_description' => $fieldDescription, 'label' => 'Form Builder', 'class' => $this->getFormBuilderAdmin()->getClass(), 'model_manager' => $this->getFormBuilderAdmin()->getModelManager()));
}
示例9: getFormAdminType
/**
* @param FormMapper $formMapper
* @param AdminInterface $admin
* @param string $formField
* @param string $field
* @param array $fieldOptions
* @param array $adminOptions
*
* @return FormBuilder
*/
protected final function getFormAdminType(FormMapper $formMapper, AdminInterface $admin, $formField, $field, $fieldOptions = array(), $adminOptions = array())
{
$adminOptions = array_merge(array('edit' => 'list', 'translation_domain' => 'SonataClassificationBundle'), $adminOptions);
$fieldDescription = $admin->getModelManager()->getNewFieldDescriptionInstance($admin->getClass(), $field, $adminOptions);
$fieldDescription->setAssociationAdmin($admin);
$fieldDescription->setAdmin($formMapper->getAdmin());
$fieldDescription->setAssociationMapping(array('fieldName' => $field, 'type' => ClassMetadataInfo::MANY_TO_ONE));
$fieldOptions = array_merge(array('sonata_field_description' => $fieldDescription, 'class' => $admin->getClass(), 'model_manager' => $admin->getModelManager(), 'required' => false), $fieldOptions);
return $formMapper->create($formField, 'sonata_type_model_list', $fieldOptions);
}
示例10: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$subject = $this->getSubject();
$em = $this->getModelManager()->getEntityManager($subject);
$transformer = new DocumentToStringTransformer($em, $subject);
$pt = array('ALRG' => 'Аллерген', 'BAD' => 'Биологически активная добавка', 'GOME' => 'Гомеопатическое средство', 'DIAG' => 'Диагностикум', 'DRUG' => 'Лекарственный препарат', 'MI' => 'Мед. изделие', 'SRED' => 'Питательная среда', 'SUBS' => 'Субстанция');
# новому продукту можно проставить идентификатор
if (!$this->getSubject()->getProductID()) {
$formMapper->add('ProductID', null, array('label' => 'ID продукта', 'required' => true));
}
$formMapper->add('RusName', 'text', array('label' => 'Название', 'required' => true))->add('EngName', 'text', array('label' => 'Латинское', 'required' => true))->add('Name', 'text', array('label' => 'URL адрес', 'required' => true))->add($formMapper->create('document', 'text', array('label' => 'ID документа', 'required' => false, 'by_reference' => true))->addModelTransformer($transformer))->add('ProductTypeCode', 'choice', array('label' => 'Тип препарата', 'required' => true, 'choices' => $pt))->add('MarketStatusID', null, array('label' => 'Статус', 'required' => true))->add('ZipInfo', null, array('label' => 'Форма выпуска', 'required' => true))->add('photo', 'iphp_file', array('label' => 'Фотография временная', 'required' => false))->add('Composition', null, array('label' => 'Описание', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('RegistrationDate', null, array('label' => 'Дата регистрации'))->add('RegistrationNumber', null, array('label' => 'Номер регистрации'))->add('NonPrescriptionDrug', null, array('label' => 'Безрецептурный', 'required' => false))->add('StrongMeans', null, array('label' => 'Сильнодействующий', 'required' => false))->add('Poison', null, array('label' => 'Ядовитый', 'required' => false))->add('GNVLS', null, array('label' => 'ЖНВЛП', 'required' => false))->add('DLO', null, array('label' => 'ДЛО', 'required' => false))->add('ValidPeriod', null, array('label' => 'Срок действия', 'required' => false))->add('StrCond', null, array('label' => 'Условия хранения', 'required' => false))->add('atcCodes', null, array('label' => 'Коды АТХ', 'required' => false))->add('moleculeNames', null, array('label' => 'Активные вещества', 'required' => false))->add('clphGroups', null, array('label' => 'Клинико-фармакологические группы', 'required' => false, 'help' => 'ClPhGroups'))->add('phthgroups', null, array('label' => 'Фармако-терапевтические группы', 'required' => false, 'help' => 'PhThGroups'))->add('productCompany', 'sonata_type_collection', array('label' => 'Компании', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('inactive', null, array('label' => 'Отключить', 'required' => false, 'help' => 'Исключить препарат из списков выдачи'));
}
示例11: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->getModelManager()->getEntityManager($this->getSubject());
$searchTagsTransformer = new SearchTagsToStringTransformer($em);
$filearray = $this->getRoot()->getSubject()->getImageFile();
if (isset($filearray['fileName'])) {
if (file_exists("./upload/publication/cropped" . $this->getRoot()->getSubject()->getImageFile()['fileName'])) {
$filename = "/upload/publication/cropped" . $this->getRoot()->getSubject()->getImageFile()['fileName'];
} elseif (file_exists("./upload/publication" . $this->getRoot()->getSubject()->getImageFile()['fileName'])) {
$filename = "/upload/publication" . $this->getRoot()->getSubject()->getImageFile()['fileName'];
} else {
$filename = "/holder.js/180x150";
}
} else {
$filename = "/holder.js/180x150";
}
$formMapper->add('title', 'textarea', array('label' => 'Название'))->add('shortText', null, array('required' => false, 'label' => 'Анонс *', 'attr' => array('class' => 'ckeditortrial')))->add('body', null, array('required' => false, 'label' => 'Текст *', 'attr' => array('class' => 'tinymce')))->add('embeddedCode', null, array('required' => false, 'label' => 'HTML-код видео'))->add('attachments', 'sonata_type_collection', array('required' => false, 'label' => 'Приложенные файлы', 'by_reference' => false), array('edit' => 'inline', 'inline' => 'table'))->add('category', null, array('label' => 'Категория'))->add('sourceTitle', null, array('label' => 'Название источника'))->add('sourceUrl', null, array('label' => 'Ссылка на источник'))->add('country', null, array('label' => 'Страна'))->add('imageFile', 'comur_image', array('uploadConfig' => array('uploadRoute' => 'comur_api_upload', 'uploadUrl' => $this->getRoot()->getSubject()->getUploadRootDir(), 'webDir' => $this->getRoot()->getSubject()->getUploadDir(), 'fileExt' => '*.jpg;*.gif;*.png;*.jpeg', 'libraryDir' => null, 'libraryRoute' => 'comur_api_image_library', 'showLibrary' => false, 'saveOriginal' => 'originalImage', 'imageFile' => $filename), 'cropConfig' => array('minWidth' => 450, 'minHeight' => 300, 'aspectRatio' => true, 'cropRoute' => 'comur_api_crop', 'forceResize' => false, 'thumbs' => array(array('maxWidth' => 450, 'maxHeight' => 300, 'useAsFieldImage' => true))), 'required' => false, 'label' => 'Изображение', 'data' => $this->getRoot()->getSubject()->getImageFile()))->add('hideAuthor', null, array('label' => 'Скрывать автора', 'help' => 'С галочкой вместо автора будет Evrika.ru', 'required' => false))->add('isVidal', null, array('label' => 'Публикация в Vidal', 'required' => false))->add('public', null, array('required' => false, 'label' => 'Могут видеть гости', 'help' => 'Если галочка не отмечена, то гости будут видеть только анонс'))->add('important', null, array('required' => false, 'label' => 'Отображать на главной', 'help' => 'Публикация попадёт на в главную ленту, но не будет закреплена в ней, если не указана дата закрепления (см. ниже)'))->add('stickedUntil', null, array('label' => 'Закреплена на главной до'))->add('thematicGroup', null, array('label' => 'Тематическая группа', 'help' => 'Если выбрана, то публикация будет опубликована внутри группы', 'query_builder' => function (ThematicGroupRepository $er) {
return $er->createQueryBuilder('t')->orderBy('t.title', 'ASC');
}))->add('specialties', null, array('required' => false, 'label' => 'Специальности', 'help' => ''))->add('specializations', null, array('required' => false, 'label' => 'Специализация основной специальности', 'attr' => array('data-placeholder' => 'Выберите специализацию')))->add('poll', null, array('required' => false, 'label' => 'Установить опрос', 'empty_value' => 'без опроса'))->add('broadcast', null, array('required' => false, 'label' => 'Для всех специальностей', 'help' => 'Если да - публикация попадёт в ленту даже тем, кто не подписан на эти специальности'))->add('weekly', null, array('label' => 'Еженедельная', 'required' => false))->add('enabled', null, array('required' => false, 'label' => 'Активна'))->add('created', null, array('required' => false, 'label' => 'Дата создания'))->add('searchTags', null, array('required' => false, 'label' => 'Ключевые слова'))->add($formMapper->create('searchTags', 'text', array('label' => 'Ключевые слова', 'required' => false, 'by_reference' => false))->addModelTransformer($searchTagsTransformer))->add('metaTitle', null, array('label' => 'META title', 'required' => false))->add('keywords', null, array('label' => 'META keywords', 'required' => false))->add('description', null, array('label' => 'META description', 'required' => false))->add('yandexUniqueText', null, array('label' => 'META Yandex.Вебмастер оригинальный текст', 'required' => false, 'read_only' => true, 'disabled' => true))->add('digest', null, array('label' => 'В дайджесте', 'required' => false));
$builder = $formMapper->getFormBuilder();
// Add listeners
// $builder->addEventListener(FormEvents::PRE_UPDATE, array($this, 'onPreSubmit'));
/*$builder->addEventListener(FormEvents::PRE_BIND, function (FormEvent $event) use ($builder) {
$data = $event->getData();
if (empty($data['imageFile'])) return;
$selectedFoo = $data['imageFile'];
$arrayImage = [
'fileName' => $selectedFoo['imageFile'],
'originalName' => $selectedFoo['originalImage'],
'mimeType' => 'image/jpg',
'size' => 0,
'path' => '/upload/publication/'.$selectedFoo['imageFile'],
'width' => 200,
'height' => 200,
];
//$data['imageFile'] = serialize($arrayImage);
//$data['originalImage'] = serialize($arrayImage);
//$event->setData($data);
//$setImage = "setImageFile";
//$setOImage = "setOriginalImage";
//$this->getRoot()->getSubject()->$setImage(serialize($arrayImage));
//$this->getRoot()->getSubject()->$setOImage(serialize($arrayImage));
});*/
}
示例12: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
//$user = $this->securityContext->getToken()->getUser()->getUsername();
//$user = $this->securityContext->getToken()->getUser();
//die(var_dump($user));
// die(var_dump('toto est la'));
$author = $this->securityContext->getToken()->getUser();
if ($this->isGranted('CREATE')) {
$formMapper->add('author', 'sonata_type_model_hidden', array())->add('description', 'sizannia_editor_type', array('label' => 'Comments'))->add('isEnable', 'checkbox', array('required' => false, 'label' => 'Enable'));
}
$formMapper->getFormBuilder()->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use($author, $formMapper) {
$event->setData($author);
$comment = $event->getdata();
//$form = $event->getForm();
//$comment->setAuthor($author);
//die(var_dump($comment));
$formMapper->create($comment, null, array());
// ->add('author', 'sonata_type_model_list')
// ->add('description','sizannia_editor_type', array('label' => 'Comments'))
// ->add('isEnable', 'checkbox', array('required' => false, 'label' => 'Enable'));
});
}
示例13: buildEditForm
public function buildEditForm(CmsManagerInterface $manager, FormMapper $formMapper, BlockInterface $block)
{
$contextChoices = array();
foreach ($this->getMediaPool()->getContexts() as $name => $context) {
$contextChoices[$name] = $name;
}
$media = $block->getSetting('mediaId');
$formatChoices = array();
if ($media instanceof MediaInterface) {
$formats = $this->getMediaPool()->getFormatNamesByContext($media->getContext());
foreach ($formats as $code => $format) {
$formatChoices[$code] = $code;
}
}
// simulate an association ...
$fieldDescription = $formMapper->getAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->mediaAdmin->getClass(), 'media');
$fieldDescription->setAssociationAdmin($this->getMediaAdmin());
$fieldDescription->setAdmin($formMapper->getAdmin());
$fieldDescription->setOption('edit', 'list');
$fieldDescription->setAssociationMapping(array('fieldName' => 'media', 'type' => \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_ONE));
$builder = $formMapper->create('mediaId', 'sonata_type_model', array('sonata_field_description' => $fieldDescription, 'class' => $this->getMediaAdmin()->getClass(), 'model_manager' => $this->getMediaAdmin()->getModelManager()));
$formMapper->add('settings', 'sonata_type_immutable_array', array('keys' => array(array('title', 'text', array('required' => false)), array('context', 'choice', array('required' => true, 'choices' => $contextChoices)), array('format', 'choice', array('required' => count($formatChoices) > 0, 'choices' => $formatChoices)), array($builder, null, array()))));
}
示例14: buildEditForm
/**
* {@inheritdoc}
*/
public function buildEditForm(FormMapper $formMapper, BlockInterface $block)
{
$contextChoices = array();
foreach ($this->getMediaPool()->getContexts() as $name => $context) {
$contextChoices[$name] = $name;
}
$gallery = $block->getSetting('galleryId');
$formatChoices = array();
if ($gallery instanceof GalleryInterface) {
$formats = $this->getMediaPool()->getFormatNamesByContext($gallery->getContext());
foreach ($formats as $code => $format) {
$formatChoices[$code] = $code;
}
}
// simulate an association ...
$fieldDescription = $this->getGalleryAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->getGalleryAdmin()->getClass(), 'media', array('translation_domain' => 'SonataMediaBundle'));
$fieldDescription->setAssociationAdmin($this->getGalleryAdmin());
$fieldDescription->setAdmin($formMapper->getAdmin());
$fieldDescription->setOption('edit', 'list');
$fieldDescription->setAssociationMapping(array('fieldName' => 'gallery', 'type' => ClassMetadataInfo::MANY_TO_ONE));
$builder = $formMapper->create('galleryId', 'sonata_type_model_list', array('sonata_field_description' => $fieldDescription, 'class' => $this->getGalleryAdmin()->getClass(), 'model_manager' => $this->getGalleryAdmin()->getModelManager(), 'label' => 'form.label_gallery'));
$formMapper->add('settings', 'sonata_type_immutable_array', array('keys' => array(array('title', 'text', array('required' => false, 'label' => 'form.label_title')), array('context', 'choice', array('required' => true, 'choices' => $contextChoices, 'label' => 'form.label_context')), array('format', 'choice', array('required' => count($formatChoices) > 0, 'choices' => $formatChoices, 'label' => 'form.label_format')), array($builder, null, array()), array('pauseTime', 'number', array('label' => 'form.label_pause_time')), array('startPaused', 'checkbox', array('required' => false, 'label' => 'form.label_start_paused')), array('wrap', 'checkbox', array('required' => false, 'label' => 'form.label_wrap'))), 'translation_domain' => 'SonataMediaBundle'));
}
示例15: configureFormFields
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->getModelManager()->getEntityManager($this->getSubject());
$tagTransformer = new TagTransformer($em, $this->getSubject());
$formMapper->add('photo', 'iphp_file', array('label' => 'Фотография', 'required' => false))->add('title', 'textarea', array('label' => 'Заголовок', 'required' => true, 'attr' => array('class' => 'ckeditormizer')))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes-text', 'text', array('label' => 'Коды АТХ', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'atcCodes-text', 'placeholder' => 'Начните вводить название или код')))->add('nozologies-text', 'text', array('label' => 'Заболевания МКБ-10', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'nozologies-text', 'placeholder' => 'Начните вводить название или код')))->add('molecules-text', 'text', array('label' => 'Активные вещества', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'molecules-text', 'placeholder' => 'Начните вводить название или код')))->add('infoPages-text', 'text', array('label' => 'Представительства', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'infoPages-text', 'placeholder' => 'Начните вводить название')))->add('products-text', 'text', array('label' => 'Описания препаратов', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'doc')))->add('date', null, array('label' => 'Дата создания', 'required' => true, 'years' => range(2000, date('Y'))))->add('videos', 'sonata_type_collection', array('label' => 'Видео файлы', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('code', null, array('label' => 'Дополнительный код', 'required' => false))->add('testMode', null, array('label' => 'В режиме тестирования', 'required' => false, 'help' => 'видно только если в конец url-адреса дописать ?test'))->add('sticked', null, array('label' => 'Закреплена слева', 'required' => false))->add('enabled', null, array('label' => 'Активна', 'required' => false));
}