public function stuffAction($type) { $type = str_replace('/', '', $type); // некорректно, нужно через routing работать $hp = $this->getDoctrine()->getManager(); $mainMenu = $this->mainMenu(); $title = Stuff::getTypes(); if ($type == 'all') { $stuff = $hp->getRepository('EasyMainBundle:Stuff')->findAll(); $all = 1; } else { $teacher = $hp->getRepository('EasyMainBundle:Stuff')->findBy(array('name' => $type)); $stuff = $hp->getRepository('EasyMainBundle:Stuff')->findBy(array('type' => $type), array('name' => 'ASC')); if (!empty($teacher)) { $stuff = $teacher; $all = 1; } elseif (!empty($stuff)) { $stuff = $hp->getRepository('EasyMainBundle:Stuff')->findBy(array('type' => $type), array('name' => 'ASC')); $all = 0; } else { return $this->render('EasyMainBundle:Page:404.html.twig', array('mainMenu' => $mainMenu, 'topMenu' => '', 'color' => 'purple')); } } if (count($stuff) > 0) { return $this->render('EasyMainBundle:Default:stuff.html.twig', array('mainMenu' => $mainMenu, 'content' => $stuff, 'color' => 'purple', 'title' => $title, 'all' => $all)); } else { $topMenu = ""; return $this->render('EasyMainBundle:Page:404.html.twig', array('mainMenu' => $mainMenu, 'topMenu' => $topMenu, 'color' => 'purple')); } }
protected function configureFormFields(FormMapper $formMapper) { $formMapper->with('Общая информация', array('class' => 'col-md-6'))->add('type', 'choice', array('choices' => Content::getTypes(), 'expanded' => false, 'label' => 'Тип блока'))->add('name', 'text', array('label' => 'Название'))->add('link', 'text', array('label' => 'Ссылка с названия', 'required' => false))->end(); $subject = $this->getSubject(); if ($subject->getId() == NULL) { $horizontal = false; } else { $horizontal = $subject->getHorizontal(); } switch ($subject->getType()) { case 'gallery': $formMapper->with('Взаимосвязь', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false, 'label' => 'Блок расположен на странице'))->add('order_column', 'integer', array('label' => 'Порядок', 'help' => 'Чем меньше, тем выше на странице будет расплоложено содержимое'))->add('gallery', 'sonata_type_model_list', array('btn_add' => false, 'label' => 'Галерея'))->add('horizontal', 'checkbox', array('data' => $horizontal, 'required' => false, 'label' => 'Горизонтальное ориентирование блока'))->end()->with('Контент', array('class' => 'col-md-12'))->add('content', 'ckeditor', array('config_name' => 'default', 'label' => 'Текст'))->end(); break; case 'video': case 'content': $formMapper->with('Взаимосвязь', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false, 'label' => 'Блок расположен на странице'))->add('order_column', 'integer', array('label' => 'Порядок', 'help' => 'Чем меньше, тем выше на странице будет расплоложено содержимое'))->add('gallery', 'sonata_type_model_list', array('btn_add' => false, 'label' => 'Галерея'))->end()->with('Контент', array('class' => 'col-md-12'))->add('content', 'ckeditor', array('config_name' => 'default', 'label' => 'Текст'))->end(); break; case 'slider': $formMapper->with('General', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false))->add('order_column')->end()->with('Slider', array('class' => 'col-md-12'))->add('teams', 'sonata_type_collection', array('by_reference' => false, 'cascade_validation' => true), array('edit' => 'inline', 'inline' => 'table'))->end(); break; case 'photo': case 'video_gallery': $formMapper->with('General', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false))->add('order_column')->add('gallery', 'sonata_type_model_list', array('btn_add' => false))->end(); break; case 'contacts': $formMapper->with('General', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false))->add('order_column')->end()->with('Contacts', array('class' => 'col-md-12'))->add('contacts', 'sonata_type_collection', array('by_reference' => false, 'cascade_validation' => true), array('edit' => 'inline', 'inline' => 'standard'))->end(); break; case 'stuff': $formMapper->with('General', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false))->add('order_column')->add('stuff', 'choice', array('choices' => Stuff::getTypes(), 'expanded' => true))->end(); break; case 'news': $formMapper->with('General', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false))->add('order_column')->end(); break; case 'photo_links': $formMapper->with('General', array('class' => 'col-md-6'))->add('url', 'sonata_type_model_list', array('btn_add' => false))->add('order_column')->end(); break; default: break; } //выбор меню второго уровня если есть контент для этого //if ($subject->getUrl() != null && count($subject->getUrl()->getChildren()) > 1) { /*if ($subject->getUrl() != null) { $choices = array(); //dump();die(); foreach($subject->getUrl()->getChildren() as $index => $value){ $choices[$value->getId()] = $value->getTitle(); } if(count($choices)>1){ $choices[0] = 'Все меню'; } $choices[-1] = 'Отключить'; $formMapper ->with('secondMenu', array('class' => 'col-md-6')) ->add('second_menu', 'choice', array('choices' => $choices, 'expanded' => true)) ->end(); }*/ // работает норм только после update //$em = $this->modelManager->getEntityManager('Application\Sonata\MediaBundle\Entity\Gallery'); //$currentUrl = $em->getRepository('SonataMediaBundle:Gallery')->findAll(); //$currentUrl = $em->getRepository('ApplicationSonataMediaBundle:Gallery')->findOneBy(array('id'=>4)); //echo "<pre>";var_dump($currentUrl);die(); //->add('gallery_id', 'sonata_type_model_list', array('class' => 'Sonata\MediaBundle\Entity\Gallery'), array('placeholder' => 'qweqwe')) //->add('gallery_id', 'choice', array('choices' => $this->getGalleries(), 'expanded' => true)) // ->add('media', 'sonata_media_type', array( // 'provider' => 'sonata.media.provider.image', // 'context' => 'engine' // )); // $subject = $this->getSubject(); // // if ($subject->isNew()) { // // The thumbnail field will only be added when the edited item is created // $formMapper->add('thumbnail', 'file'); // } }
public function configureFormFields(FormMapper $formMapper) { $formMapper->add('name', 'text', array('label' => 'Иия'))->add('text', 'ckeditor', array('config_name' => 'default', 'label' => 'Описание'))->add('type', 'choice', array('choices' => Stuff::getTypes(), 'expanded' => true, 'label' => 'Тип'))->add('media', 'sonata_type_model_list', array('label' => 'Фотография')); }