1

두 개의 Report Widget 클래스 두 개가 모두 highcharts.js 라이브러리를 사용하고 있습니다. 따라서 두 가지 모두 렌더링되기 전에 highcharts.js을 포함해야합니다.OctoberCMS : js 파일이 이미 다른 위젯에 포함되어 있는지 확인하는 방법

public function loadAssets() 
{ 
    $this->addJs('js/highcharts.js'); 
} 

문제는 다른 보고서 위젯은 이미 페이지에 추가 된 경우 내가 다른 highcharts.js 두 번 백엔드 대시 보드에 포함됩니다, addJs 메소드를 호출하지 말아야한다는 것입니다 : 따라서 그들은 loadAssets 방법을 구현한다. js 파일을 여러 번 추가하지 않으려면 어떻게해야합니까?

답변

0

addJs()addCss() 함수를 사용할 때 10 월 자체가 자산이 이미로드되어 있는지 확인하고,로드 된 경우 다시로드되지 않습니다.

+0

이는 동일한 보고서 위젯의 여러 인스턴스에만 해당됩니다. 두 개의 개별 위젯 인스턴스가 두 개있는 경우에는 javascript 파일이 이미 포함되어 있음을 알 수 없습니다. 시도 해봐! – Meysam

+0

나는 5 개의 다른 보고서 위젯을 사용하고 있으며, 각 위젯에는 3 개의 js 파일이로드되어 있습니다. 위젯'render()'함수에서'addJs()'를 호출하고 있습니다. 이렇게하면 에셋이 여러 번로드되지 않습니다. – dragontree