질문/조언질답게시판
Extra Form
PHP PHP 7.3
CMS Rhymix

트리거 함수 내에 

        debugPrint("test");
        Context::loadFile('./modules/module_name/tpl/js/js__file_name.js');

 

를 넣었습니다.

 

그런데 text는 디버그 내용에 나오지만 js파일 내용은 안나오네요.

 

모듈 controller 안에서 Context::loadFile() 사용 불가한가요?

  • profile
    디버그내용에 들어가는게 아니라, 저건 저 파일을 로딩하는겁니다.
    실제로 해당 트리거가 실행되는 시점에 해당 파일 js__file_name이 정상적으로 로딩되었는지 확인해보세요.
  • profile ?
    아 말실수 했네요...
    test 내용은 debug에 나오는데 js 파일이 로드가 안됩니다 ㅠ
    저 경로를 주소창에 복붙해도 파일은 나오고요..
  • ? profile

    1.경로가 잘못지정되엇다.
    2.트리거가 실행되지 않앗다.(근데 test는 떳으니 이건 아닐거고)
    3.loadFile실행중에 다른 모듈이나 애드온이랑 충돌이 일어낫다.

    등등 여러가지 요인 확인해보세요.

    대부분 경로 지정 문제입니다..

    Context::loadFile(array('./modules/module_name/tpl/js/js__file_name.js'));

    으로 수정해보세요

  • profile ?

    음... 안되네요

    array를 쓰면 expects string, got array 뜨고요.


    그런데 loadFile() 은 경로를 바로 스크립트 태그에 넣는게 아니라
    파일이 있는지 확인하고 넣는건가요?

  • ? profile
    무슨말씀하시는지 정확하게 이해가 안됩니다.

    스크립트 태그가 무엇입니까?

    ./modules/module_name/tpl/js/js__file_name.js 파일이 이미 존재하니까 그 파일을 가져오려고 하시는거 아닌가요?
  • profile ?

    네, 그 경로에 파일이 존재하는데요, loadFile() 함수가 파라미터로 들어온 문자열을 그대로 html에 넣는건지, file exists(?) 같은걸 사용하는지 궁금해서요.. 이게 제 문제랑은 상관 없겠죠?

  • profile

    이걸로 호출해야할겁니다.

     

    Context::addJsFile('./modules/module_name/tpl/js/js__file_name.js', FALSE, '', 0, 'body');

  • profile ?
    음.. 이것도 안되네요

    addJsFile 이 loadFile 을 사용하는지라...

    https://www.poesis.org/tools/modulegen/ 여기에서 생성한거에 display 트리거만 넣은건데 무슨 문제인 걸까요...
  • profile

    debugPrint("test"); 가 잘 찍혔다면 트리거는 완성 됩 겁니다.

    스크립트 로드가 안된다는건 트리거가 display after 에 실행되거나 애드온 중에서 display 관련해서 인터셉트하는 경우일 겁니다.

     

    빠른 원인 해결을 위해서는 애드온을 다 꺼보시고. 트리거도 어느 시점에 호출하고 있는지 확인해보시기 바랍니다.

  • profile ?

    아... 트리거 삽입부분에만 after로 넣었었네요...
    해결됐습니다.. 감사합니다.. (허무)