禁用 Sonata admin bundle 生成的 console.log() 消息
Disable console.log() messages generated by Sonata admin bundle
我在我的 Symfony 项目中使用 Sonata Admin 包。我在 Sonata admin bundle 生成的浏览器中看到许多控制台日志消息。
这些消息是由 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 搜索中得到任何类型的结果。有没有办法从配置文件或其他东西控制这些?
提前致谢!!
如果您根本不需要任何 Sonata 评论,我建议您评论该代码,您应该完成了。如果出现错误(例如,如果函数 "log()" 在代码中的任何地方被调用),您可以只注释这两行:
window.console.log(msg);
window.opera.postError(msg);
我在 Sonata Admin GitHub repo 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 %}
我在我的 Symfony 项目中使用 Sonata Admin 包。我在 Sonata admin bundle 生成的浏览器中看到许多控制台日志消息。
这些消息是由 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 搜索中得到任何类型的结果。有没有办法从配置文件或其他东西控制这些?
提前致谢!!
如果您根本不需要任何 Sonata 评论,我建议您评论该代码,您应该完成了。如果出现错误(例如,如果函数 "log()" 在代码中的任何地方被调用),您可以只注释这两行:
window.console.log(msg);
window.opera.postError(msg);
我在 Sonata Admin GitHub repo 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 %}