我在Symfony项目中使用Sonata Admin软件包。我在Sonata管理员捆绑包生成的浏览器中看到许多控制台日志消息。
这些消息是Sonata Admin通过代码从 /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搜索中得到任何结果。有没有办法从配置文件或其他东西控制这些?
提前谢谢!
答案 0 :(得分:1)
我已经在Sonata Admin GitHub存储库https://github.com/sonata-project/SonataAdminBundle/issues/5278中打开了一个问题,并找到了解决方案。
您必须像这样覆盖奏鸣曲管理员的standard_layout,
/config/packages/sonata_admin.yaml
sonata_admin
templates:
layout: 'sonata_admin/layout.html.twig'
现在在 / templates / sonata_admin / 中创建 layout.html.twig ,并使用以下代码。
{% extends '@SonataAdmin/standard_layout.html.twig' %}
{% block javascripts %}
{{ parent() }}
<script>
if ('undefined' !== typeof window.Admin) {
window.Admin.log = function() {}
}
</script>
{% endblock %}
答案 1 :(得分:0)
如果您根本不需要任何Sonata注释,建议您注释该代码,然后就应该完成了。如果出现一些错误(例如,如果在代码中的任何地方调用了函数“ log()”),则只需注释以下两行:
window.console.log(msg);
window.opera.postError(msg);