어제도 이야기했듯 애드온을 만들고 있습니다.

그리고 대댓글 목록의 ajax 호출에 드디어 성공.

php 파일을 통해 대댓글 목록을 가져오는 쿼리를 실행하고, 이거를 별도의 템플릿 html 파일로 전달한 뒤, 여기서 출력된 html을 다시 js로 보내서, 최종적으로 화면에 뿌려주는 방식으로 했습니다.

 

근데...

이때 php 파일이 댓글단에 변수들을 전달해줘야 하는데, 그게 생각처럼 쉬운 게 아니더라구요.

그래서 한참을 헤맸습니다. 알고 보니 php 파일에서 가져온 $module_info에는 게시판 '스킨'이 설정한 $module_info가 빠져 있더라구요.

그리고 관리자의 경우는 $grant가 게시판 권한 관리에서 설정한 권한이 반영되지 않기도 하구요. 왜 이런 건지;;; 관리자만 대댓글에 댓글을 달 수 없는 사태가 발생하더라구요ㅜ

심지어 $lang 변수도 몇 개가 행방불명 ㅡㅜ

 

아마도 게시판 모듈 실행과는 별개의 방식으로 php 파일이 작동하다보니 변수들이 누락되는 것 같더라구요.

그래서 막 

$oBoardView = getView('board');
$oBoardView->init();

이런 것도 해보고 그랬습니다. 왠지 그러면 게시판 모듈의 설정이 적용될 것 같아서... 그치만 에러가 나더군요ㅋㅋㅋ

 

한참 얼타다가...

$module_info는 syncSkinInfoToModuleInfo 함수를 찾아서 해결하고,

$grant는 관리자만 문제인 것 같아서 관리자에게 따로 권한을 하나씩 true로 바꿔줬습니다.

$lang은 모듈별로 loadLang으로 불러오구요.

 

뭔가 빠바박! 하고 끝날 줄 알았는데 쉽지가 않네요;;;

어쨌든 (맘에 들진 않지만) 매뉴얼하게나마 원댓/대댓 따로따로의 출력부는 성공을 거둔 듯합니다.

 

응원차 구경차 둘러보세요ㅎㅎ

https://dev.aporia.blog/board_fKje43/11744

 

이제 url에 대댓글 번호가 있을 때 (새로고침 후 당연히 숨겨져 있을) 대댓글을 찾아나서는 모험을 해야 합니다.

일단 url의 댓글 번호로 head 번호를 가져와서 원댓글의 페이지 위치를 찾아가고, 그 다음에 대댓글 목록을 자동으로 열어준 뒤, 표적이 되는 대댓글을 하이라이트로 처리하는 그런 방식이지 않을까... (말이 쉽지!)

 

코어의 댓글 페이지 자동 검출 방식도 연구하고 그래봐야겠습니다.

일단 당분간은 휴식과 안정을 취하면서요 :D

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • profile

    아무래도 모듈에서 쓰라고 만들어진 기능이다 보니...

    애드온이나 별도의 PHP 파일에서 사용하려면 삽질이 많이 필요하죠.

     

    그래서 언제 모듈로 넘어오실 건가요?^^

    애드온 만들고 계실 실력이 아닌디...

    어서 날코딩의 굴레에서 벗어나 모듈님을 영접하세요!

  • profile profile
    이것만 마스터하구요ㅋㅋㅋㅋ
    이걸로 시즌1 끝판왕이라 생각해서요, 다 깨면 시즌2 모듈로 가겠습니다ㅎㅎ
    아 겁나네요ㅜ
  • ?
    잘되네요~ 알림 센터에서도 잘 찾아가는지 테스틀 해보고 싶지만 회원 가입 불가 T.T
  • ? profile

    코드가 있는 사람만 가입할 수 있는 비밀 사이트여서요ㅜㅜ

    아직 찾아가기는 전적으로 안 된다고 보시면 돼요.
    5~6년 전에도 여기까지 왔다가 힘 달려서 접어뒀던 거 같습니다;;;
    특히 비번 입력해서 대댓글 확인을 하거나 대댓글 삭제 후에 페이지 찾아가기가 엄청 빡셌던 것 같습니다.

    그래도 과거보다는 실력이 쪼금은 늘었으니까 어떻게든 되겠죠 뭐

  • ? profile

    이런 식이면 잘 찾아가는 것인지... 혹시 더 신경 쓸 부분이 있는지 시간 나실 때 조언 좀 주시면 감사하겠습니다~

    https://dev.aporia.blog/index.php?mid=board_fKje43&document_srl=11744&comment_srl=11822
    https://dev.aporia.blog/index.php?mid=board_fKje43&document_srl=11744&comment_srl=11837#comment_11837
    https://dev.aporia.blog/index.php?mid=board_fKje43&document_srl=11744&comment_srl=11867#comment_11867

  • profile ?
    완전 잘되는 것 같습니다~
  • ? profile
    오호, 확인 감사합니다~
  • profile
    멋집니다~ 모듈로 슝~~~ ㅋ
  • profile profile
    밑바탕도 없고 기본 개념도 없어서 잘 적응할 수 있을지 모르겠어요ㅎㅎ
  • profile
    모듈로 넘어오실때쯤이면 2.0~ 2.1 버전 기준으로 아주 좋은 네임스페이스형 모듈도 제작할 수 있으니, 기진님께서 만들어두신 모듈 생성기에서 모든 영역 다 채크해서 만들어보세요 ㅎㅎ 저두 고객님 모듈 하나 해당 기능으로 만들어드려봤는데 방법만 잘 알면 기존의 XE방식의 비효율적인 코딩방식이 개선되고 코드가 깔금해져서 좋더군요 ㅎㅎ
  • profile profile
    오잉 네임스페이스형 모듈이 뭐예요?
    뭔지는 잘 모르지만 코딩이 더 효율적이라 하셨으니까 람보님 말씀만 믿고 따라가보겠습니다 :D
  • profile profile
    기존에는 모듈의 함수를 호출할때

    getModel('')
    getController('')

    이런 함수를 호출하여 해당 함수를 따로 변수안에 넣어서 활용해야 했는데

    memberModel::getMmeberInfoByMemberSrl();

    이렇게 사용할 수 있는 네임스페이스를 활용하는 방법으로 제작되어있는데 맘대로 파일과 클래스 이름을 막 호출하여 autoload 걸수 있기 때문에 편리합니다.

    예전에는 XE모듈형의 파일이름과 이런항목들을 반드시 지켜야 정상적으로 사용이 가능햇지만, 최근에 개선된 항목들은

    modules/test/controllers/view.php

    이런식으로 폴더 구조를마음대로 생성해서 구조화 시키더라도 맘대로 로딩시켜서 막 개발이 가능합니다 :)
  • profile profile
    자유도가 좀 더 높아진다는 말씀으로 해석이 되는군요 오호..
    2.1 시점부터 본격화되는 거라면 현재 나와 있는 예제는 아직 없는 거겠죠?
    기대해보겠습니다!
  • profile profile
    지금 최신 develop브랜치에서 사용이 가능합니다 ㅋㅋ