위젯!! 상당히 좋은 파츠입니다.

 

그러나 구조를 보면 상당히 군더더기를 마구마구 만드는 위젯!

 

특히 메인 위젯일 경우 효율이 무척 떨어집니다.

 

위젯이 많으면 더더더욱!

 

하나의 위젯을 불러오려면 db에서 검색하여 위젯명를 불러오고 또 위젯명을 가지고 db를 재 검색하여 위젯설정db부분을 불러온답니다.

 

참고로 상자위젯에 라인이라도 집어 넣는 경우에는 더욱 코드가 길어지게 되고 맙니다 -ㅁ-;

 

이걸 효율적으로 바꾸는 방법을 생각해 봤는데.

 

메인페이지를 자체제작 해야겠더라구요-ㅁ-;

 

 

저같은 경우는 레이아웃폴더 1개를 가지고 최소 3개의 레이아웃폴더를 만들어

 

페이지마다 다른 레이아웃을 불러오게 호출합니다. 

 

대신 옵션을 최소화 하고 모든 위젯을 html화 합니다.

 

 

쉽게 위젯을 html화 시킬수 있는 방법이 있었는데....

 

이부분은 좀더 제 소스를 보고 안내해 드릴까 합니다 ㅎ

 

ㅠ_ㅠ 서론만 먼저 적어 놓겠습니다 ㅎ

 

 

  • Lv8
    초보자라 초보적인 질문 좀 합니다 ^^
    메인페이지 자체제작을 혹시 어떻게 만드시려고 생각하시나요 ? 아예 html이나 php로 짜시는건가요? 아니면 문서페이지를 통해서 작성하시는건가요?
    속도에서는 영향을 많이 미치나요 ? 예전에 공홈에서 아예 자체적으로 제작해서 속도를 줄인다는 글을 본것 같은데.. 그때 의미는 알겠지만 방법을 잘 모르겠더라구여 ^^;;
  • Lv8
    아넵...레이아웃html 자체에 위젯코드를 삽입합니당!
    예를 들어 메인페이지의 경우는 레이아웃의 콘텐츠영역안에 위젯코드를 배열하게 되는데 이때 db접속을 최소화 시키기 위해 위젯코드는 레이아웃차원에서 끝내려고 하는것이랍니다^^
    위젯 안의 컨텐츠(내용)을 불러오는 부분은 위젯에서 처리할 부분이구용^^*
    도움이 되셨는지 모르겟네요 저도 초보라 ㄷㄷ
  • Lv8
    어떤 말인지 알겠네요 ^^ 저도 레이아웃 수정해서 쓸때 메뉴 밑에 직접 위젯 코드 넣어서 사용했었는데... 그런 방법이였군여 ^^
    아래 웹지기님에게 다신 댓글보니깐 어떤식인지는 알것 같네요 ㅎㅎㅎ
    팁 올라오면 저도 꼭 한번 해봐야겠습니다 ^^ 속도는 빠를수록 좋은거니까요 ^^
  • Lv30
    근데 최신글을 가져오는 게 메인페이지의 핵심역할인 경우가 있느데요.
    이를 위젯을 이용하지 않고 html과 php로 구성한다해도 어차피 db에서 글정보등을 가져오는 것은 있어야하고 캐시등의 적용도 해야 할텐데.. 이게 쉽게 가능하지 않을 듯한데요.. 저와 같은 초보자로서는 어렵게 들리는 이야기네요...

    이런 위젯이 아니라면 html로 구성하는거야 그냥 상자위젯 안쓰고 레이아웃에 넣는게 당연히 맞겠죠.
  • Lv30
    웹지기님은 저보다 고수신걸로 알고있습니다만 ㅎㅎ
    xe에서 위젯을 불러올땐 html에서 db에 접속하여 모듈-페이지정보확인-레이아웃호출-위젯호출-위젯내부내용
    (예를들어 페이지 db안에 위젯의 내용이 있는게 아니라 위젯srl(만들어놓은 위젯)을 확인후 db에서 이 위젯srl을 호출하여 최종 위젯코드를 확인하게 된답니당.)그리고 최종적으로 위젯내용 호출...
    호출 후 화면에 뿌리고 또 위젯이 있으면 -위젯내부내용 호출 식으로 하더라구요..
    위젯내용만 호출하면 돼는데 위젯코드자체를 호출하고 엄청 돕니다 뺑뺑...

    이걸 줄여서 모듈-페이지정보확인-레이아웃호출로 끝나게 하려고 합니다.그리고 위젯내용 호출...

    전에 몇개 홈페이지 만들면서 이렇게 했는데 속도가 빨라지더라구요...
    팁은 좀더 정리해서 올려보려고 합니당 ^^
    화이팅 ! ㅎ
  • Lv30
    쉡게 할 수 있는 방법이 있다면 빨리 공개해주세요!!!!!! 위젯코드와 캐시만 제대로 사용할 수있다면 더 효율적으로 만들수 있겠습니다.
  • Lv30
    아참,,,, 지금 글 적어주셔서 생각난김에 저희 사이트 메인에도 제가 편의상 저희 제휴업체 노출을 제휴업체 게시판에 등록된 글의 섬네일과 제목으로 그대로 노출하게 해 놓았는데 제가 좀 고생하더라도 db 접속 없이 보여줄수 있게 그냥 html로 바꿔보아야 할 것 같네요.

    위젯 하나라도 줄이면 0.05초라도 빨라질수 있을거 같으니까요 ㅋ
  • Lv16
    위젯화한다하더라도 어차피 디비 접속해서 테이블 내용을 가져와야 하는데
    그렇게 하면 캐시 설정도 필요하고.. 해서 아예 그냥 위젯 생성해서 캐시 설정한 걸로 불러오고
    css,js 같은건 zipper 애드온 같은걸로 합해서 가져오게 하는게 낫지 않을까요?
  • Lv16
    앗네 이온디님. 위젯을 레이아웃화 시키면 위젯을 로딩할때 위젯외형 외의 부분만을 db에서 가져오기 때문에 부하가 덜할것이라 생각하고 있습니다 ㅎ
    기존에는

    자유게시판 [더보기]
    --------------------
    날씨좋네요.
    이온디님짱
    헤헤 난초보예용


    이런 형식으로 위젯이 되어있을경우.
    자유게시판 [더보기] <---위젯스타일 or 박스위젯을 사용해서 내용직접추가를 이용해 아래 컨텐츠 위젯과 묶어서 별도의 위젯으로 db에 저장이 됩니다.
    그리고 위젯의 마진 패딩등의 내용이 모두 db에 저장됩니당.

    이때 발생하는 쿼리의 양이 css나 html을 이용하는것보다 많더라구요.
    위젯을 레이아웃화 시키면
    1. 메인페이지의 위젯위치는 같은 열에서는 거의 동일(메인페이지에 같은 컨텐츠 위젯이 4개 존재하는 경우 이들의 상하 좌우의 마진값은 거의 동일하게 만든답니다.보기 좋으라고 ㅎ)하기 때문에 레이아웃의 css에 귀속시켜주면 별도의 db를 호출하지 않아도 됩니당.

    2. 저같이 -ㅁ-;비슷한 사이트를 여러개 만드는 사람에게는 레이아웃하나로 홈피를 복사하기 쉽습니다.

    3. phpmyadmin에서 모듈-메인페이지페이지 코드를 보시면...ㄷㄷ; 정말 엄청나게 뻥튀기 되어진것을 보실텐데 요걸 최소화 할수 있습니당 ~
  • Lv30
    근데 제가 지금 db에서 메인페이지의 컨텐츠 내용을 확인해보니 레이아웃에 위젯코드를 그대로 넣을거면 별 차이가 없어보입니다. 어떤 방식인지 궁금해지네요....
  • Lv30
    네 일단 코드자체가 간소해 지구요..저같이 위젯박스를 이용해 작업을 할경우...그 박스를 만들기 위해 많은 코드들이 db에 누적됩니당.요걸 일단 최소화 합니다.(css)요건 똑같이 생긴 위젯이 많을때 더욱 유리합니당.

    에구 더 자세한건 좀더 정리해서 올려보겠습니다.

    페이지 부분의 DB부분을 집어넣으면 html 형식으로 최소화 시키는 메크로 방식의 웹페이지를 하나 만들어야 겠습니다! ㅎ
  • Lv30
    선뜻 쉽게 이해하기는 어렵네요. 메인페이지는 무조건 접속해서 확인하는 단계는 거쳐야 하는거라서 메인페이지의 컨텐츠를 열람해 보았더니 여기에 모든정보가 다 들어있어서 불러오는데 더 시간이 소요되거나 그런 것을 찾지 못하겠어요. 저 정보를 그냥 레이아웃쪽으로 빼 버린다고 해도 어차피 메인페이지 접속은 이루어져야하고 접속해서 있는 정보를 가져오는 시간과 그 정보를 그냥 레이아웃단에서 뿌려주는거랑 차이가 있을지 궁금합니다.
  • Lv30
    '0' 넵 ㅎ 웹지기님 저도 좀더 연구해 보고 말씀드려야겠습니다.
    전 단순히 코드자체를 최소화 시키는 부분을 생각하다가 위처럼 했었거든요 ㅎ
    페이지 제작시 "내용직접추가"를 이용해서 페이지를 디자인 하는 경우 페이지를 저장해 보면 바로 페이지가 바뀌는 모습을 보고
    적어도 내용직접추가 위젯 부분만큼은 로딩시마다 db에 접속해서 정보를 가져오는 구나 라고 생각을 했습니다.
    콘텐츠 위젯이야 캐쉬시간에 따라 db에서 정보를 가져오겠지만.
    위젯자체의 db는 로딩은 제각각인것 같더라구요.
    ..에고 너무 두서없이 말씀드려서 죄송합니다 ㅎㅎ
  • Lv30
    아닙니다. 덕분에 위젯하나를 위젯의 스타일들은 그대로 이용하고 html로 아예 바꿔버렸습니다. db 쿼리 자체를 없애버렸습니다. 고정으로 노출시킬부분이라...... 일단 저도 고민해 보았는데 코드에서 줄어든 부분은 어차피 레이아웃에 스타일등으로 먹여야 하고 메인페이지에 모든 정보가 있기 때문에 큰 차이가 날까 라는 의구심이 있는 상태이구요.

    위젯을 사용안하고 위젯을 사용한 듯한 효과를 내는 방법은 쿼리 자체가 없어지니 귀찮아서 컨텐츠위젯으로 하셨던 분중 그냥 위젯을 버리는것도 좋을 듯 합니다.
  • Lv12
    https://xetown.com/square/131068

    wp로 치자면 비주얼 컴포저 + 페이지 플러그인 역할에 해당되는걸 만들었습니다.
  • Lv12

    http://demo.ggtalk.com/index.php?mid=visualwidget_preview

    id : ggtalkdemo / pass : ggtalkdemo

    세부적으로 아직 잘 구현된건 아니지만 제가 해보고자 하는 개념만 보시고 평가 바랍니다.

     

    비주얼위젯 모듈 관리자 링크는 제품 출시전 베타테스트 메뉴에 있습니다.

  • Lv12
    오 지지님 구경가 보겠습니다^^역시 대단하세용 ㅎ