일반 용도의 위젯이 아닌 특정 용도에 사용하는 따로 제작된 오래된 위젯입니다.  정확하진 않지만 라이믹스 규칙에 맞지 않는 어떤 문제로 인해 에러가 발생하는 것 같습니다. 

 

1. 문제 : 위젯 링크 클릭 시 라이믹스 짧은 주소 사용 > 모든 주소 형태를 사용 으로 설정 할 경우 위젯에서 이미지 클릭 시 에러가 발생하고 xe와 호환되는 주소 형태만 사용 으로 설정 할 경우 위젯 링크 클릭 시 문제가 발생치 않습니다.

 

2. 에러 관련 내용 :  잘못된 요청 입니다. classes/module/ModuleHandler.class.php:1047 

2022-11-30 16,31,46.JPEG

 

3. 실사이트는 운영중이라 테스트 사이트에서 현상을 보실수 있습니다.

https://test.martmonster.com/zzim_page   아이디 : test   비번 : 1234

 

4.연관된 게시판과 위젯 주요코드입니다.

1) 회원이 a 게시판 ( https://test.martmonster.com/seoul ) 에서 게시글에 있는 찜하기 버튼 클릭 -> 회원에게는 숨겨진 찜게시판 ( https://test.martmonster.com/zzim ) 에 a게시판에서 찜한 문서의 문서번호( 2969 )가 자동으로 제목과 내용에 저장 ->  동시에 위젯에서도 찜한 문서로 바로가기 링크가 생성됩니다. 

0.JPEG

 

[ 게시판 목록 찜하기 부분 소스 : 내용이 많아서 연관이 있을 만한 부분이라 생각되는 부분 기재했습니다.]

{@ 
  $copy_obj->module_srl = $zzim_copy_module_srl;
$copy_obj->member_srl = $logged_info->member_srl;
  $copy_obj->list_count = $module_info->zzim_list_count;
  $copy_obj->page_count = 1;
  $copy_document_output = $oDocumentModel->getDocumentList($copy_obj);
  $copy_document_list = $copy_document_output->data;
}
<[email protected]($copy_document_list as $copy_no=>$copy_document)-->
  <[email protected]($copy_document->getTitle()==$delete_srl)-->
    {@ $oDocumentController->deleteDocument($copy_document->document_srl)}
  <[email protected]>
<[email protected]>


<[email protected]>
{@ $oModuleModel = &getModel('module')}
{@ $oDocumentModel = &getModel('document')}
{@ $oCommentModel = &getModel('comment')}
{@ $this_module_srl = $oModuleModel->getModuleSrlByMid($mid)}
{@ $this_module_srl[0]}
<[email protected]($module_info->zzim_copy_mid)-->
  {@ $copy_module_srl = $oModuleModel->getModuleSrlByMid($module_info->zzim_copy_mid)}
  {@ $copy_module_srl[0]}
<[email protected]>
{@ $insert_extra_keys = $oDocumentModel->getExtraKeys($this_module_srl[0])}

..............[ 생략 ]
 <span class="zzim_area zzim_{$document->document_srl}">
<[email protected]($logged_info && $grant->view)-->
   <[email protected](!$module_info->zzim_list_count)-->
     {@ $module_info->zzim_list_count = 20}
   <[email protected]>
   {@ 
     $copy_obj->module_srl = $copy_module_srl[0];
     $copy_obj->member_srl = $logged_info->member_srl;
     $copy_obj->list_count = $module_info->zzim_list_count;
     $copy_obj->page_count = 1;
     $copy_document_output = $oDocumentModel->getDocumentList($copy_obj);
     $copy_document_list = $copy_document_output->data;
   }
   {@ $exist_zzim = 0}
   <[email protected]($copy_document_list as $copy_no=>$copy_document)-->
     <[email protected]($copy_document->getTitle()==$document->document_srl)-->
       {@ $exist_document_srl = $copy_document->document_srl}
       {@ $exist_zzim++}
     <[email protected]>
   <[email protected]>
   <[email protected]($exist_zzim==0)-->
     <a href="#" onclick="zzimCopy({$copy_module_srl[0]},{$document->document_srl});return false;"  title="한번만 클릭 해 주세요.^^;" class="btn_favorite2_on">찜하기</a>
     <[email protected]>
     <a href="#" onclick="zzimDelete({$copy_module_srl[0]},{$document->document_srl});return false;" class="btn_favorite2">찜취소</a>
     <[email protected]>
   <[email protected]>
   <a href="#" onclick="alert('로그인이 필요합니다.');return false;" class="btn_favorite2_on">찜하기</a>
   <[email protected]>
          </span>
</div>
</li>
<[email protected]>
</ul>

....[ 생략 ]
 

 

 

 

위젯에서는 아래 이미지처럼 찜한 문서 이미지와 기타 항목이 나오고 이미지를 클릭하면 a게시판의 해당 문서로 이동합니다.

위젯 링크 클릭 시 라이믹스 짧은 주소 사용 > 모든 주소 형태를 사용 으로 설정 할 경우 위젯에서 이미지 클릭 시 에러가 발생하고 xe와 호환되는 주소 형태만 사용 으로 설정 할 경우 위젯 링크 클릭 시 문제가 발생치 않습니다.

1.JPEG

 

[ 위젯 관련 부분 소스 ]

<[email protected]($xenara_ajax=='y' && $mid && $zzim_copy_module_srl && $delete_srl && $copy_type=='delete')-->
{@ $oDocumentModel = &getModel('document')}
{@ $oDocumentController = &getController('document')}
<[email protected](!$module_info->zzim_list_count)-->
  {@ $module_info->zzim_list_count = 20}
<[email protected]>
{@ 
  $copy_obj->module_srl = $zzim_copy_module_srl;
$copy_obj->member_srl = $logged_info->member_srl;
  $copy_obj->list_count = $module_info->zzim_list_count;
  $copy_obj->page_count = 1;
  $copy_document_output = $oDocumentModel->getDocumentList($copy_obj);
  $copy_document_list = $copy_document_output->data;
}
<[email protected]($copy_document_list as $copy_no=>$copy_document)-->
  <[email protected]($copy_document->getTitle()==$delete_srl)-->
    {@ $oDocumentController->deleteDocument($copy_document->document_srl)}
  <[email protected]>
<[email protected]>

<[email protected]>
<load target="./css/widget.css" />
<div class="widget_content_biz_layout_v3_0_w2_myzzim">
{@ $oDocumentModel = &getModel('document')}
{@ $oDocumentController = &getController('document')}


<[email protected]($logged_info)-->
{@ $count = 1}
<[email protected]($widget_info->modules_info as $key=>$val)-->
  <[email protected]($count==1)-->
    {@ $myzzim_copy_module_srl = $val->module_srl}
  <[email protected]>
{@ $count++}
<[email protected]>
{@ 
  $myzzim_obj->module_srl = $myzzim_copy_module_srl;
$myzzim_obj->member_srl = $logged_info->member_srl;
  $myzzim_obj->list_count = $widget_info->list_count;
  $myzzim_obj->page_count = 1;
  $myzzim_document_output = $oDocumentModel->getDocumentList($myzzim_obj);
  $myzzim_document_list = $myzzim_document_output->data;
}


<div class="section section_mypage">
  <div class="lst_summary" ><a href="{getFullUrl('')}customer/7159" target=_self>※ 단골마트 추가,취소법</a></div>
  </div>

<ul id="zzimList" class="lst_newspot lst_newspot_v2">
<[email protected]($myzzim_document_list as $key=>$val)-->
  {@ $copyDocument = $oDocumentModel->getDocument($val->document_srl)}
  {@ $myzzimDocument = $oDocumentModel->getDocument($copyDocument->getTitle())}

  <li cond="$myzzimDocument->isExists()" class="zzim_{$myzzimDocument->document_srl}">
  <div class="unit2">
  <div class="thumb">
  <a href="{getUrl('document_srl',$myzzimDocument->document_srl)}" target="_self"><img id="" src="{$myzzimDocument->getThumbnail(224,100)}" width="224" height="100" style="width:224px; height:100px;border-radius: 3px;" /><span class="frame"></span></a>
</div>
<div class="detail">
  <h3><a href="{getUrl('document_srl',$myzzimDocument->document_srl)}" target="_self">{$myzzimDocument->getTitle()}</a></h3>
<p class="info">
<span class="txt_kind"><a href="{getUrl('document_srl',$myzzimDocument->document_srl)}" target="_self">{$myzzimDocument->getExtraEidValuehtml('shop_description')}</a></span>
</p>

......

 

문제 내용 질답으로 간단히 해결될 내용일지 아닐지 판단이 안서는데요. 올려진 정보가 부족할 경우 말씀 해 주시면 감사하겠습니다.

 

혹시 의뢰가 필요할 정도이면 해결이 가능하신 분 계시면 쪽지나 댓글로 비용 부탁드리겠습니다.

Atachment
첨부
  • profile
    맨 마지막 부분에 2번 나오는 {getUrl('document_srl',$myzzimDocument->document_srl)} 이 부분이 실제 링크를 생성하는 코드인가요? 저런 방식으로 글 주소를 생성하는 것은 무척 오랜만에 보는군요.{$myzzimDocument->getPermanentUrl()} 로 바꿔보세요.
  • profile ?
    말씀 해 주신 코드로 해결됐습니다. 정말 감사합니다 ^^