コピーあなたが合うようにレポートのフィルタを編集し、新しいバージョンに編集したいレポートが。既定のレポートを直接編集することはできませんが、コピーを使用すると完全に編集することができます。
EDIT
連絡先フィルタは常にあるため、カスタマーポータルのユーザーモデルのカスタマーポータルのフィルタに適用されます。 CPは、Web上のユーザーが特定の顧客であり、ユーザーセッションの特定の連絡先に固有の連絡先データにのみアクセスする必要があると考えています。これはセキュリティ機構であり、意図したとおりに動作しています。
連絡先データが関連している可能性がありますが、すべての連絡先に公開する必要があるレポートのデータを表示することを目標とする場合は、ROQLまたはAnalytics APIクエリを直接実行するカスタムウィジェットを作成する必要があります誤って実装されていると他の顧客データを公開する可能性があることに注意してください。
pre_report_get_dataフックを使用したい場合は、フックをsettings/hooks.phpファイルで有効にするのは簡単です。フックに呼び出すモデルとメソッドにフックを向けます。次に、渡されたデータ配列を編集して、フィルタ配列からc_idの設定を解除します(他の記事で説明したように)。 filter_report
モデルでreport_run()
メソッドを呼び出すためのフックエンジンに指示します
$rnHooks['pre_report_get'][] = array(
'class' => 'filter_report',
'function' => 'report_run',
'filepath' => ''
);
。これらは通常、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
}
}
ありがとうございました。しかし、私は問題をはっきりと説明していない間違いをしました。私は今質問を更新しました。レポートはレポートエクスプローラで正常に機能し、その組織にのみ属するインシデントも表示されます。しかし、カスタマーポータルで使用されると、コンタクトIDフィルタは何もせずに自動的に渡されています。私の上記の質問をもう一度チェックして、解決策が分かっているかどうか確認してください。この質問に答える時間をとってくれてありがとう。乾杯。 –
さらに、Scottを追加するのを忘れてしまいました。私はContact Idフィルタなしで最初のカスタムレポートを使用していました。あなたが何らかの方法で助けることができるかどうかを見てください。顧客ポータルのレポートの要件は非常に多いですが、ログインしたユーザーのこの愚かな連絡先IDはフィルタとして適用され続けます。私はセキュリティ上の目的でそのことを理解していますが、私はそれを正しく行うことができます。ありがとう。 –