Я использую пакет 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. Есть ли способ контролировать их из файла конфигурации или что-то?
Заранее спасибо!!
Я открыл вопрос в репозитории 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 %}
Если вам не нужны какие-либо комментарии к Sonata, я предлагаю вам прокомментировать этот код, и все готово. Если появляется какая-либо ошибка (например, если в любом месте кода вызывается функция «log ()»), вы можете просто прокомментировать эти две строки:
window.console.log(msg);
window.opera.postError(msg);