В моем приложении есть список, представляющий новости.На каждом конце строки я хочу добавить кнопку со знаком плюс и, щелкнув по ней, в пузырьке должна появиться небольшая встроенная форма (через выпадающий список).На самом деле, для рендеринга этой формы мой подход заключается в рендеринге этого через механизм render(controller(...))
в шаблоне поля.
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}
{% block field %}
{{ render(controller(...)) }}
{% endblock %}
Вызов контроллера рендеринга визуализирует форму в соответствии с официальной документацией Symfony ...
Визуализированная форма отправляет свои данные обратно на commentAction в том же контроллере.
Теоретически это работает нормально, но практически медленно, как ад.Мой сайт запускается через 60 секунд только потому, что в списке показаны 64 элемента по умолчанию, и каждый элемент вызывает эту функцию контроллера рендеринга ...
Есть ли чистый способ визуализации небольшой дополнительной формы, не вызываядорогой вызов контроллера рендеринга?
Я думаю, что это может работать с манипулированием методом listAction в контроллере (добавление здесь дополнительной формы?) ... но это не кажется чистым решением.
Есть идеи?
Спасибо
Редактировать:
Хорошо, я думаю, я выяснил, где узкое место ... пример выше был упрощен.На самом деле я загружаю коллекцию в форму для каждой строки ... в форме, которую вы можете выбрать, какой автор создал новость.В этом списке не менее 500 авторов ... так что, отображая этих авторов для одного нового, все в порядке.Но рендеринг опций выбора 64 раза - это слишком много.Есть ли способ сделать это быстрее?Какой-то механизм кеширования?