編集するレポートを新しいバージョンにコピーしてから、必要に応じてレポートのフィルターを編集します。デフォルトの定型レポートを直接編集することはできませんが、コピーがあれば完全に編集できます。
編集
カスタマー ポータルのユーザー モデルのため、コンタクト フィルターは常にカスタマー ポータル フィルターに適用されます。CP は、Web 上のユーザーが特定の顧客であり、ユーザー セッションの特定の連絡先に固有の連絡先データにのみアクセスできることを想定しています。これはセキュリティ メカニズムであり、意図したとおりに機能しています。
連絡先データが関連している可能性があるが、すべての連絡先に公開する必要があるレポートからのデータを表示することが目標である場合は、ROQL または Analytics API クエリを直接実行するカスタム ウィジェットを作成する必要がありますが、その可能性には注意してください。誤って実装された場合、他の顧客データを公開する。
pre_report_get_data フックを使用する場合、settings/hooks.php ファイルでフックを有効にするのは非常に簡単です。フックで呼び出すモデルとメソッドをフックでポイントします。次に、他の投稿で述べたように、渡されたデータの配列を編集して、filters 配列から 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
}
}