Бутон за добавяне в администратора на соната изчисти jQuery на sonata_type_collection: sonata-collection-item-added

Внедрих поле за автоматично попълване в моя формуляр с администратора на sonata.

Тази форма (ScheduleAdmin) има колекция от игри (GamesAdmin).

Проблемът ми е, че не мога да използвам jQuery. Всъщност, когато Добавяне на нова форма от тип Игри моят jQuery не се стартира.

Но когато редактирам график, който имаше игри, моето поле за автоматично попълване работи... само първото

РЕДАКТИРАНЕ:

Няма начин да използвате този съвет:

СЪВЕТ: jQuery събитие се задейства, след като ред е добавен (sonata-collection-item-aded) или изтрит (sonata-collection-item-deleted). Можете да се свържете с тези събития, за да задействате персонализиран javascript, импортиран във вашите шаблони (напр.: добавете приспособление за календар към новодобавено поле за дата)

Източник

Аз съм нуб в JQuery и не знам как да обвържа този елемент.

Някой може ли да помогне?

Благодаря ти !


person Perroin Thibault    schedule 30.07.2013    source източник


Отговори (1)


Имах същия проблем.

Поправих го с GenemuFormBundle.

Инсталирайте го с композитор като: composer.json

{
    "require": {
        "_some_packages": "...",

        "genemu/form-bundle": "2.1.*" => for Symfony 2.1 and 2.2

        "genemu/form-bundle": "2.2.*" => for Symfony 2.3
    }
}

Не забравяйте да добавите пакета в AppKernel.php и да изпълните командата assetic:

$ php app/console assets:install web/

След това можете да го използвате в класа на администратора с:

protected function configureFormFields(FormMapper $formMapper)
{      
// ...   
    $formMapper
        ->with('General')
          ->add('sample_choice', 'genemu_jqueryautocompleter_choice', array(
                     'choices' => array(
                        'Choice 1' => 'Choice 1',
                        'Choice 2' => 'Choice 2',
                        'n.a.' => 'Not available'
                    )))

Вижте документацията кои типове полета за автоматично довършване са налични. Можете също да изберете обект. Но забележете, че във формуляра се връща само идентификаторът на записа в базата данни, а не стойността!

Използване във филтърен режим:

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper
    // ...
        ->add('customer',  null, array(), 'genemu_jqueryautocompleter_entity')
    // ...

Забележка: Трябва да добавите следния ред в оформлението си:

{{ form_stylesheet(form) }}
and
{{ form_javascript(form) }}
person sensi    schedule 05.08.2013
comment
Благодаря за отговора ! Опитах се да използвам genemuFormBundle, но изглежда, че не работи... Има специфична конфигурация на шаблон за sonata и genemu? - person Perroin Thibault; 15.08.2013
comment
Хм, не съм сигурен, но по подразбиране опцията трябва да е налична, ако пакетът genemu е зареден правилно. Забележка: Не работи в изскачащ прозорец на ajax. Изглежда, че има проблем при зареждането на необходимите заглавни файлове или влиза в конфликт с други библиотеки на jquery. - person sensi; 26.08.2013
comment
Вижте моята актуализация по-горе. Трябва да добавите {{ form_stylesheet(form) }} и {{ form_javascript(form) }} във вашия основен twig файл с оформление. - person sensi; 04.09.2013
comment
Благодаря ви, но не знам защо не работи за мен... Опитвам се да внедря избраната библиотека jquery, но не знам как да обвържа: sonata-collection-item-added. Някаква идея ? - person Perroin Thibault; 05.09.2013
comment
За съжаление е трудно да се отговори без код. Но дали пакетът genemu е зареден и видим, след като въведете текст в текстовото поле. Опитайте го за тестване на друго поле, за да видите, че като цяло работи... - person sensi; 07.09.2013
comment
Благодаря за помощта, рестартирам проекта си със symfony 2.3 и работи! Може би конфликт във версия 2.2... не знам. - person Perroin Thibault; 08.09.2013
comment
ААА добре. Да, това е добра идея, ако е възможно с проекта. Също така мигрирам повечето от моите 2.2 проекти към 2.3. - person sensi; 09.09.2013