Отключить сообщения console.log (), генерируемые админ-пакетом Sonata - PullRequest
0 голосов
/ 25 октября 2018

Я использую пакет Sonata Admin в своем проекте Symfony.Я вижу много сообщений журнала консоли в браузере, сгенерированном администратором Sonata.

enter image description here

Эти сообщения генерируются администратором Sonata из / vendor /sonata-project / admin-bundle / src / Resources / public / Admin.js по коду,

/**
 * render log message
 * @param mixed
 */
log: function() {
    var msg = '[Sonata.Admin] ' + Array.prototype.join.call(arguments,', ');
    if (window.console && window.console.log) {
        window.console.log(msg);
    } else if (window.opera && window.opera.postError) {
        window.opera.postError(msg);
    }
},

Кто-нибудь знает, как отключить эти сообщения журнала?Я даже не получаю никаких результатов от поиска в Google.Есть ли способ контролировать их из файла конфигурации или что-то?

Заранее спасибо !!

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Я открыл проблему в репозитории Sonata Admin GitHub https://github.com/sonata-project/SonataAdminBundle/issues/5278 и нашел решение.

Вы должны переопределить стандартную_слойку администратора сонаты, например,

/config / packages / sonata_admin.yaml

sonata_admin
    templates:
        layout: 'sonata_admin/layout.html.twig'

Теперь создайте layout.html.twig внутри / templates / sonata_admin / и используйте следующий код.

{% extends '@SonataAdmin/standard_layout.html.twig' %}

{% block javascripts %}
  {{ parent() }}
  <script>
    if ('undefined' !== typeof window.Admin) {
      window.Admin.log = function() {}
    }
  </script>
{% endblock %}
0 голосов
/ 25 октября 2018

Если вам не нужны какие-либо комментарии к Sonata, я предлагаю вам прокомментировать этот код, и все готово.Если появляется какая-либо ошибка (например, если в любом месте кода вызывается функция «log ()»), вы можете просто прокомментировать эти две строки:

window.console.log(msg);
window.opera.postError(msg);
...