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

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

введите описание изображения здесь

Эти сообщения генерируются администратором 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. Есть ли способ контролировать их из файла конфигурации или что-то?

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

1

Решение

Я открыл вопрос в репозитории 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 внутри / Шаблоны / sonata_admin / и используйте следующий код.

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

{% block javascripts %}
{{ parent() }}
<script>
if ('undefined' !== typeof window.Admin) {
window.Admin.log = function() {}
}
</script>
{% endblock %}
1

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

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

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