커뮤니티토픽게시판

XE타운에 지금 이순간 ? 궁금증에서 출발해서 사이트운영모듈에도 비슷한 기능이 있어 모듈에서 저장한 db로 위젯으로 출력하면 될 것 같아 출발했던 위젯입니다.

 

 

어마무시한 포인트의 모듈이 필요한 위젯이구요.

https://xetown.com/rxe_point/23227

 

 

원래 모듈에서는 이렇게 보여줍니다.

8.png

 

 

 

어차피 저장되어 있는 자료를 위젯으로 만들면 필요한 곳에 부착해서 사용하면 편리해서 위젯으로 사용해 보고 싶었네요..

 

 

now2.png

 

 

이렇게 되도록 만들었는데요. 물론 스킨이 저희 사이트에 맞춰서 있어서 틀어지거나 하는 부분은 고치셔야 할 것입니다.

 

 

 

 

문제점 

 * 페이지에서 직접 코드를 만들어 저장해서 사용하는 경우 처음 만들때는 잘 되는데 이상하게 수정해서 저장할때는 요청중이 계속 뜹니다. (그냥 코드만들어서 레이아웃 같은 곳에서만 쓰세요.  @kdp7584s 님께서 손봐주신 버전인데 해결이 잘 안되는 것 같아요)

 

* 타이틀 글자수 자르기가 잘 되지 않아서 스킨에서 직접 자를 숫자를 넣었습니다. 설정에서 넣은 것은 작동하지 않으니 스킨에서 수정해서 사용하세요. (여러곳에서 범용으로 쓰기 어렵겠죠. 글자수가 고정되어 버리니까요.... )

 

 

 

댓글에서 kdp7584s님에 의해 갱신되는 파일을 사용하세요. 

 

 

꼬리

 

사이트운영관리모듈에서 조회되는 글은 무조건 글 읽는 것은 다 포함 시킵니다. 여기서 문제점은 사이트내에서 위젯 등에서 소개되는 글들이 주로 많이 표시될 가능성이 농후합니다. 여기 XE타운도 타 리퍼러를 타고 들어온 것만 표시해 주는 이유가 바로 그 이유입니다.

 

XE타운과 같이 자신의 사이트에서 클릭으로 조회되는 것을 제외하려면 모듈의 콘트롤 파일에서..

 

//트리거 (비활성 게시물정리 및 게시글 조회 모니터링 기능)
function triggerUpdateReadedCountBefore(&$obj){
//자신의 사이트 내에서 이동은 저장하지 않음
$referer = parse_url($_SERVER["HTTP_REFERER"]);
if($referer['host'] == $_SERVER['HTTP_HOST']) return;
//문서 조회기록 있는지 확인

 

 

위 내용을 추가해 주시면 타 리퍼러에서 온 조회만 db에 저장되어 링크타고온 것만 보여줍니다.

 

*어제 저희 사이트 게시글 삭제가 있었는데 현재 첨부한 위젯이 문제인지는 명확하지 않으니 테스트를 해보시고 사용하시는 것이 안전할 것 같습니다.

- 어제 다른 버전의 위젯에 의한 문제인 것으로 확인 되었습니다. 아래 댓글 링크 참조

---> https://xetown.com/board/747061#comment_747149

  • ?
    "요청중입니다." 표시가 게시글이 삭제되고있다고 알리는것일수도 있습니다. 게시글이 삭제되고있는지 확인해보세요.
  • ? profile
    그래요 ? 거기에 게시글이 삭제될 만한 코드가 있나요 ? 어제 저희 사이트 게시글 삭제된 이후 사용하지도 않고 있던 자동삭제 애드온은 지웠습니다.
  • profile ?
    삭제될만한 코드가 전혀 없지만 코드에서 부하가 걸릴 이유가 없습니다. 요청중입니다는 어디서 쿼리문을 대량으로 돌리고 있어서 PHP에 부하가 걸리면서 파일이 삭제가 안된것일수도 있습니다.
  • ? profile
    그 시점은 어제 item? php 파일 적용해주신 위젯 업로드 하고 발생했습니다. 위젯 자체가 삭제가 안되고 했던 상황이요. 그 시점에서 게시글 삭제가 진행되었던 것 같아요.
  • profile ?

    이걸로 한번 실행해보시겠어요?

    Atachment
    첨부
  • ? profile
    이것 적용했는데 어떤 비교를 해봐야 할까요? 이전버전하고요.
    코드 보니까 글자수 자르는 것 스킨에서 처리하는건 동일하던데요..
  • profile ?
    페이지에서 직접 코드를 만들어 저장해서 사용하는 경우 처음 만들때는 잘 되는데 이상하게 수정해서 저장할때는 요청중이 계속 뜹니다.
    이것만 확인하시면 됩니다.
  • ? profile

    저장을 다시 해도 요청중 안뜨고 바로 저장됩니다.
    그런데 제가 자동삭제 애드온을 지워서 차이가 날 수도 있을 것 같습니다. 만약 저 액션에서 자동삭제 애드온의 영향으로 글 삭제 쿼리가 작동했다면요.....

     

    그런데 제 판단은 글 삭제가 이루어 진 시점이 요청중하고는 상관이 없을 수도 있다는 생각도 들어서요.

  • profile ?
    자동삭제 애드온을 OFF 해뒀으면 include 자체가 안되서 자동삭제 애드온이 작동될 이유는 없을것같습니다.
  • ? profile
    네. 그럼 제 판단은 어제 새롭게 변형해서 만들어주신 위젯 업로드 직후에 일어난 것으로 보입니다.
  • profile ?
    예, 제 판단도 제 애드온 외에는 이유가 없을것같아서 XE 라이믹스에서 그대로 올렸지만 현상이 재현되지는 않았습니다. 서브파티 애드온이나 모듈과 얽혀서 게시글이 삭제된것같습니다.
  • ? profile

    뭐 정확한 파악이 어려운 것을 더 길게 이야기해서 나올 것은 별로 없어 보입니다만.. 제가 사용하는 모듈,애드온 중 게시글 삭제에 관여할 수 있는 건 자동삭제 애드온이 유일하다고 볼 수 있겠네요... db만 사라진게 아니고(첨부파일 등 모두 사라진.) 실제 글 삭제의 일련의 동작이 일어난 것 보면 자동삭제 애드온 말고는 할 수 있는 자료가 없어요.

     

    *자동삭제 애드온을 켜지 않았다는 건 제 기억이라 다른 자료 켜고 끄고 할때 켜졌다는 것을 완전 배제하기 어렵습니다.

  • profile ?
    제가 수정한 애드온으로 일어난 일로 보이는건 확실해보입니다. 죄송합니다.
    $output 쿼리의 attribute값이 등록된 item이 상속된 document 값이 $_GLOBAL에 주입되면서 서브파티에서 지운걸로 추측됩니다.
    $_GLOBAL에 데이터값이 들어가도 당연히 삭제되지는 않을것으로 판단하고 올렸는데 크나큰 실수가 되버렸네요.
  • profile ?
    삭제와 관련된 (트리거가 달린) 모듈이나 애드온쪽에서 $_GLOBAL 값을 가지고 삭제한걸로 예측됩니다.
    확실한건 아닙니다만...
  • ? profile

    네. 시점이 너무 정확해서 저도 그렇게 추측하고 있어요. 도움 주시려고 하신건데 괜찮습니다. 원인이 정확하다면 이 자료 사용하는 분들이 안심하고 사용할 수 있겠네요.

    일부 극소수 db만 소실되서 괜찮습니다!

  • profile ?
    네 감사합니다. 다음부터 더 신경써서 만들어야겠어요. 죄송합니다.
  • ? profile
    아니에요. 이 일로 도움주시는 것에 위축되실 필요 없어요! 많이 도와주세요!!!!
  • profile ?

    바뀐부분

     

    1.$widget_info 함수값이 누락되어서 widget_info 값을 지정해두었습니다.

    Context::set('widget_info', $widget_info);

     

    2.30으로 지정된걸 $widget_info값으로 변환하였습니다.

    $title = cut_str($val->title,$widget_info->subject_cut_size, '...');

     

    contentItem을 상속받아서 쓰면 $item->getLink()와 같이 간단하게 쓸 수 있는데 저도 불안해서 넣기가 그렇네요.

    Atachment
    첨부
  • ? profile
    타이틀 자르기 위젯 설정값으로 잘 됩니다! 감사합니다.
  • profile
    *어제 저희 사이트 게시글 삭제가 있었는데 현재 첨부한 애드온인 문제인지는 명확하지 않으니 테스트를 해보시고 사용하시는 것이 안전할 것 같습니다.
  • profile

    XE의 타이틀 글자수 자르기 기능은 어차피 요즘 폰트와는 잘 맞지 않아서 한글과 영문, 숫자가 뒤엉키면 폭이 틀리게 나올 가능성이 높습니다. "몇분전" 메시지를 오른쪽으로 정렬하고 제목 부분의 폭을 강제로 지정한 후 overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 스타일을 넣어주면 폭이 초과되는 부분에 자동으로 ...가 붙으면서 아주 깔끔하게 처리됩니다.

  • profile profile
    네. 그부분은 이미 css에서 처리 해 놓았어요! 그래도 자를 수 있는만큼은 자르려구요.
  • ?

    고생많으셨습니다. @kdp7584s님도 고맙습니다.  이제 위젯이 나왔으니 더 손쉽게 적용할수 있겠네요.

  • ? profile
    능력자님들이 도와주시니 더 좋아지네요~ 이 위젯 덕분에 모듈이 더 팔리는건 아닌지 하는 말도 안되는 상상을 합니다 ㅋ
  • ?
    모듈 진입 장벽이 꽤 높긴 하네요 ㅎㅎㅎ
  • ? profile
    그래서 저도 포기했는데ㅋ 지인이 아카이브를 하나 구축해달라고 부탁해서 고민 중입니다.
    이 세계에 너무 깊이 발을 들여놓는 거 같아서;;;;
  • profile profile
    이모듈 가격 이야기에요 ㅋㅋㅋㅋ
  • profile profile
    아아아아 이 놈의 난독증ㅋㅋㅋㅋㅋㅋ
  • profile
    웹지기님 @kdp7584s 님 두분 모두 감사드립니다. 잘 적용했습니다.
  • profile profile
    적용하신 것 보니 반갑고 좋네요 ㅋㅋ
  • profile profile
    웹지기님 고생 덕분이죠 항상 얻어만 먹으니 송구스럽네요 ^^
  • profile profile
    저희는 위젯 타이틀 쪽에 /index.php?act=dispSitemanagementCheckDocRead 로 링크를 걸어줬어요~
  • profile profile
    네 ^^ 이 위젯은 정말 혁신인듯합니다.
  • profile
    대단합니다....
    가위바위보나 로또 랭킹도 위젯으로 추출되면 좋을것같습니다.^^;;
  • profile profile
    해당 정보가 사이트의 주요 컨텐츠인 경우가 많지 않아 위젯으로 달아 놓으려 하지 않을거 같아요. 일단 저희는 그래서요.
  • profile
    항상 웹지기님이 적극적으로 해내신걸 쉽게 얻어만 가는것 같아 감사하면서 민망하네요. 두 분 덕분에 저도 잘 적용했숩니다 !!!! 저도 저 모듈이 있었는데 이런 게 가능했다니..
  • profile profile
    만족하신다니 코알못이 복붙해서 만든 보람이 있네요 ㅋ
  • ?
    포메러브님 사이트에서는 정말 이쁘게 딱 맞게 나오네요 부럽습니다. 저는 심플아이 레이아웃 사용중인데 도저히 똑같이 못맞추겠습니다. 흐규흐규~ CSS를 공부를 해야하나봐요...
  • ?
    저도 사이트운영관리모듈을 가지고 있는데, 이렇게 활용이 가능하다니.. 감탄이 절로! 웹지기님께 감사드리고, 운영관리모듈 제작자인 숭숭군님께도 감사드립니다 ^^
  • profile
    엄청난 포인트에 일단 후덜덜 하네요 그래도 멋집니다 ㅎㅎ

서버에 요청 중입니다. 잠시만 기다려 주십시오...