Как разделить папки, используя IvoryCKEditorBundle для загрузки файлов?

Я использую следующее в моем проекте:

  • Symfony 2.3
  • IvoryCKEditorBundle
  • CoopTilleulsCKEditorSonataMediaBundle

Я предполагаю, что пользователи могут создавать свои собственные страницы для отображения различных типов информации. Тем не менее, пользователи разделены определенным типом отношений (определенные пользователи принадлежат к определенной школе, поэтому только пользователи из этой школы могут видеть файлы, в которых указано, что школа загружена, и больше никого). Я буквально ничего не знаю о Sonata 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

Я не настроил административный класс, и я даже не знаю, зачем мне его настраивать и как я должен интегрировать его с моей текущей моделью. Итак, мои вопросы:

  • Почему эта ошибка происходит?
  • Почему мне нужно настроить класс администратора? Разве AdminBundle не имеет своего базового класса администратора?
  • Как разделить пользователей, чтобы каждый мог видеть только материалы, загруженные для своей школы, и не более?

Спасибо за ваше время.

0

Решение

Эта ошибка связана с изменением способа 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 %}

Надеюсь, это поможет вам

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector