제목: |
최근게시물 위젯에 확장변수 표시하기 |
아래글은 http://www.xpressengine.com/tip/18655076 을 참고하여 일부 수정한 것입니다.
XE 현재 설치 버전
1.4.4.1-----------------------------------------------------------------------------------------
ore 1.3.1.2에서 작업 하였습니다. <-확장변수명은 추가하려는 이름에 따라 변경할수 있다
/xe/widgets/content/ 에 content.class.php의 내용 중에 683번째 줄 부근에 class contentItem extends Object { 내용 안에 01. function getExtraVars() { 02. $oDocumentModel = &getModel( 'document' ); 03. return $oDocumentModel ->getExtraVars( $this ->get( 'module_srl' ), $this ->document_srl); 04. } 05. function getExtraEidValue( $eid ) { 06. $extra_vars = $this ->getExtraVars(); 07. foreach ( $extra_vars as $idx => $key ) { 08. $extra_eid [ $key ->eid] = $key ; 09. } 10. return $extra_eid [ $eid ]->value; 11. } 위의 두 function()을 추가해 주시구요. - 위의 두 function()은 /xe/modules/document/document.item.php에서 복사해서 붙였습니다.
2단계 /xe/widgets/content/conf/ 에 있는 info.xml 파일의 내용중 01. < var id = "option_view" > 02. < type >select-multi-order</ type > 03. < name xml:lang = "ko" >표시항목 및 순서</ name > 04. < name xml:lang = "en" >Display Target & Order</ name > 05. < name xml:lang = "vi" >Hi?n th? khu v?c va th? t?</ name > 06. < name xml:lang = "zh-CN" >?示?及?序</ name > 07. < name xml:lang = "zh-TW" >顯示項目順序</ name > 08. < name xml:lang = "jp" >表示項目、および順番</ name > 09. < options default = "false" init = "true" > 10. < value >title</ value > 11. < name xml:lang = "ko" >제목</ name > 12. < name xml:lang = "en" >Title</ name > 13. < name xml:lang = "vi" >Tieu đ?</ name > 14. < name xml:lang = "zh-CN" >??</ name > 15. < name xml:lang = "zh-TW" >標題</ name > 16. < name xml:lang = "jp" >タイトル</ name > 17. </ options > 18. < options > 19. < value >thumbnail</ value > 20. < name xml:lang = "ko" >섬네일</ name > 21. < name xml:lang = "en" >Thumbnail</ name > 22. < name xml:lang = "vi" >Hinh nh?</ name > 23. < name xml:lang = "zh-CN" >?略?</ name > 24. < name xml:lang = "zh-TW" >縮圖</ name > 25. < name xml:lang = "jp" >サムネ?ル</ name > 26. </ options > 27. < options init = "true" > 28. < value >regdate</ value > 29. < name xml:lang = "ko" >등록일</ name > 30. < name xml:lang = "en" >Regdate</ name > 31. < name xml:lang = "vi" >Ngay g?i</ name > 32. < name xml:lang = "zh-CN" >?布日期</ name > 33. < name xml:lang = "zh-TW" >發表日期</ name > 34. < name xml:lang = "jp" >登?日</ name > 35. </ options > 36. < options init = "true" > 37. < value >username</ value > 38. < name xml:lang = "ko" >글쓴이</ name > 39. < name xml:lang = "en" >Author</ name > 40. < name xml:lang = "vi" >Ng??i g?i</ name > 41. < name xml:lang = "zh-CN" >?布者</ name > 42. < name xml:lang = "zh-TW" >作者</ name > 43. < name xml:lang = "jp" >登?者</ name > 44. </ options > 45. < options > 46. < value >content</ value > 47. < name xml:lang = "ko" >내용</ name > 48. < name xml:lang = "en" >Content</ name > 49. < name xml:lang = "vi" >N?i dung</ name > 50. < name xml:lang = "zh-CN" >?容</ name > 51. < name xml:lang = "zh-TW" >內容</ name > 52. < name xml:lang = "jp" >?容</ name > 53. </ options > 54. // 추가된 부분 시작 55. < options > 56. < value >ordername</ value > 57. < name xml:lang = "ko" >주문자</ name > 58. < name xml:lang = "en" >Order Name</ name > 59. < name xml:lang = "vi" >Order Name</ name > 60. < name xml:lang = "zh-CN" >Order Name</ name > 61. < name xml:lang = "zh-TW" >Order Name</ name > 62. < name xml:lang = "jp" >Order Name</ name > 63. </ options > 64. // 추가된 부분 끝 65. </ var > 위가 같이 <options> <value>ordername</value> .....중략 </options> 를 추가해 주세요. 여기에서 ordername은 인식자이므로 변수명과 같지 않아도 됩니다.
3단계 /xe/widgets/content/skins/스킨명/normal.html 01. <!--@foreach($widget_info->option_view_arr as $k => $v)--> 02. <!--@if($v=='title')--> 03. .........중략 04. <!-- 추가된 부분 시작 --> 05. <!--@else if($v=='ordername')--> 06. < span class = "author" >{$item->getExtraEidValue("order_name")}</ span > 07. <!-- 추가된 부분 끝 --> 08. ......... 09. <!--@end--> 같은 파일내의 목록형과 테이블형 두 곳 모두 추가해 주세요.
4단계 최근게시물 위젯이 표시되는 페이지 모듈 수정에서 표시항목 및 순서 에서 좌측에 있는 인식자 ordername 을 오른쪽으로 보내시고 순서를 정하신 후 코드생성 버튼을 누르시면 완성입니다.
위와 같은 방식으로 제대로 나타나지 않는다면 1단계 부분에서 아래와 같이 수정해보면 된다. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 좋은 팁 감사합니다. 저는 처음에 안돼서 1단계 getExtraVars( ) 코드를 아래와 같이 수정하니까 되네요. 1. function getExtraVars() { 2. $oDocumentModel = &getModel( 'document' ); 3. return $oDocumentModel ->getExtraVars( $this ->get( 'module_srl' ), $this ->get( 'document_srl' )); 4. }
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|