В моем проекте я использую следующее:
Мое намерение состоит в том, чтобы пользователи могли создавать свои собственные страницы для отображения различных типов информации. Тем не менее, пользователи разделены определенными отношениями (некоторые пользователи принадлежат к определенной школе, поэтому только пользователи из этой школы должны иметь возможность видеть файлы, загруженные в школу, и никто другой). Я знаю буквально ничего о Сонате Media Bundle или проекте Sonata в частности, я нахожусь в ограничении времени, и документы просто слишком много для меня, чтобы справиться через короткое время. Мне каким-то образом удалось установить Media Bundle, и даже это заняло целый день, на котором было потрачено выяснение зависимостей, чтобы заставить его работать.
Поэтому я прихожу к вам. Когда я пытаюсь загрузить файл, я получаю следующую ошибку:
Key "provider" for array with keys "context, category, hide_context" does not exist in CoopTilleulsCKEditorSonataMediaBundle:MediaAdmin:browser.html.twig at line 47
Я не настроил класс admin, и я даже не знаю, зачем мне его настраивать и как я должен интегрировать его с моей текущей моделью. Поэтому мои вопросы:
Спасибо за ваше время.
Эта ошибка возникает из-за изменения способа работы MediaBundle
. Чтобы решить проблему, вы должны перейти к browser.html.twig и заменить строки с 46 по 58 следующим:
{% if (persistent_parameters.provider is defined) and ( not persistent_parameters.provider) %}
<li class="active"><a href="{{ admin.generateUrl('browser', {'context': persistent_parameters.context, 'provider': null}|merge(ckParameters)) }}">{{ "link.all_providers"|trans({}, 'SonataMediaBundle') }}</a></li>
{% else %}
<li><a href="{{ admin.generateUrl('browser', {'context': persistent_parameters.context, 'provider': null}|merge(ckParameters)) }}">{{ "link.all_providers"|trans({}, 'SonataMediaBundle') }}</a></li>
{% endif %}
{% for provider_name in providers %}
{% if (persistent_parameters.provider is defined) and (persistent_parameters.provider == provider_name) %}
<li class="active"><a href="{{ admin.generateUrl('browser', {'context': persistent_parameters.context, 'provider': provider_name}|merge(ckParameters)) }}">{{ provider_name|trans({}, 'SonataMediaBundle') }}</a></li>
{% else %}
<li><a href="{{ admin.generateUrl('browser', {'context': persistent_parameters.context, 'provider': provider_name}|merge(ckParameters)) }}">{{ provider_name|trans({}, 'SonataMediaBundle') }}</a></li>
{% endif %}
{% endfor %}
Надеюсь, это поможет вам