将要编辑的报告复制到新版本,然后根据需要编辑报告的过滤器。您将无法直接编辑默认的预设报告,但通过副本,您可以对其进行完全编辑。
编辑
由于客户门户网站上的用户模型,联系人过滤器始终应用于客户门户网站过滤器。CP 期望网络上的用户是特定客户,并且应该只能访问特定于用户会话中特定联系人的联系人数据。这是一种安全机制,正在按预期工作。
如果目标是显示可能具有与其相关的联系人数据但应该向所有联系人公开的报告中的数据,那么您可能应该编写一个直接运行 ROQL 或 Analytics API 查询的自定义小部件,但要警惕潜在的如果实施不正确,则公开其他客户数据。
如果你想使用 pre_report_get_data 钩子,那么在 settings/hooks.php 文件中启用钩子非常简单。将钩子指向您希望钩子调用的模型和方法。然后,编辑传递的数据数组以从过滤器数组中取消设置 c_id,如另一篇文章中所述。
$rnHooks['pre_report_get'][] = array(
'class' => 'filter_report',
'function' => 'report_run',
'filepath' => ''
);
这告诉钩子引擎调用模型report_run()
中的方法filter_report
。这些通常是 CP 中的示例代码文件,因此您应该已经完成了大部分工作来实现该挂钩。
function report_run($hookData)
{
if($hookData['data']['reportId'] == '100335') //Change the report ID to the report that you need to call
{
unset($hookData['data']['filters']['c_id']); //you'll need to lookup the key of the filter in the report to figure out which one to unset
}
}