묻고답하기
최근게시물에 확장변수 나타내기 적용했는데 않되네요 틀린곳좀 알려 주세요
2011.11.03 13:44
확장변수를 메인페이지에서 나타내고자 연구하다가
오뎅궁물님의 초보팁을 알게 되었습니다.
코어는 1.4.5.10
게시판에서 확장변수명을 order_name로 주고 기본으로 깔리는 content위젯으로
1~4단계를 실시했는데 아무표시도 나지 않는 것입니다.
코드생성을 해보면
<img class="zbxe_widget_output" widget="content2" skin="default" content_type="document" module_srls="910" list_type="normal" tab_type="none" markup_type="table" page_count="1" option_view="title,regdate,nickname,ordername" show_browser_title="Y" show_comment_count="Y" show_trackback_count="Y" show_category="Y" show_icon="Y" order_target="list_order" order_type="desc" thumbnail_type="crop" />
안에 출력이 되지 않습니다.
코어 변경으로 인해서 인지 아니면 다른 것 때문이진 도대체 파악할 수 가 없습니다.
고수님들의 도움 부탁드립니다. 벌써 몇일째 자료를 찾고 있으나 애만 먹고 있습니다.
혹 스킨의 normal.html을 잘못 수정해서 그런 것은 아닌지 '오뎅궁물'님이 올려 주신것이 중략이 되어 있어 이곳에 위치 시켰는데
잘 못 넣었냐요 ^--^
<option_view_arr">!--@foreach($widget_info->option_view_arr as $k => $v)-->
<!--@if($v=='title')-->
<show_browser_title=='Y'">!--@if($widget_info->show_browser_title=='Y' && $item->getBrowserTitle())-->
<a href="<contents_link)-->{$item->contents_link}{getSiteUrl($item->domain">!--@if($item->contents_link)-->{$item->contents_link}<!--@else-->{getSiteUrl($item->domain, '', 'mid', $item->get('mid'))}<!--@end-->" class="board"><strong>{$item->getBrowserTitle()}</strong></a>
<!--@end-->
<show_category=='Y'">!--@if($widget_info->show_category=='Y' && $item->get('category_srl') )-->
<a href="{getSiteUrl($item->domain,'','mid',$item->get('mid'),'category',$item->get('category_srl'))}"><strong class="category">{$item->getCategory()}</strong></a>
<!--@end-->
<a href="{$item->getLink()}" class="title">{$item->getTitle($widget_info->subject_cut_size)}</a>
<show_comment_count=='Y'">!--@if($widget_info->show_comment_count=='Y' && $item->getCommentCount())-->
<em class="replyNum" title="Replies"><a href="{$item->getLink()}#comment">{$item->getCommentCount()}</a></em>
<!--@end-->
<show_trackback_count=='Y'">!--@if($widget_info->show_trackback_count=='Y' && $item->getTrackbackCount())-->
<em class="trackbackNum" title="Trackbacks"><a href="{$item->getLink()}#trackback">{$item->getTrackbackCount()}</a></em>
<!--@end-->
<show_icon=='Y'">!--@if($widget_info->show_icon=='Y')-->
<span class="icon">{$item->printExtraImages()}</span>
<!--@end-->
<!-- 추가된 부분 시작 --> <!--@else if($v=='ordername')--> <span class="author">{$item->getExtraEidValue("order_name")}</span> <!-- 추가된 부분 끝 --> <!--@else if($v=='nickname')-->
<a <getMemberSrl())-->href">!--@if($item->getMemberSrl())-->href="#" onclick="return false;" class="author member_{$item->getMemberSrl()}"<getAuthorSite())-->href="{$item->getAuthorSite'>!--@elseif($item->getAuthorSite())-->href="{$item->getAuthorSite()}" onclick="window.open(this.href); return false;" class="author member"<href">!--@else-->href="#" onclick="return false;" class="author member"<!--@end--> >{$item->getNickName()}</a>
아래는 오뎅궁물님의 팁 내용입니다. 그리고 혹시나 해서 코멘트 부분의 수정사항도 반영해 보았지만 같은 결과 였습니다.
--------- 오뎅궁물님의 내용--------------------
1 단계
/xe/widgets/content/ 에 content.class.php의 내용 중에 683번째 줄 부근에
class contentItem extends Object {
내용 안에
$oDocumentModel = &getModel('document'); return $oDocumentModel->getExtraVars($this->get('module_srl'), $this->document_srl); } function getExtraEidValue($eid) { $extra_vars = $this->getExtraVars(); foreach($extra_vars as $idx => $key) { $extra_eid[$key->eid] = $key; } return $extra_eid[$eid]->value; }위의 두 function()을 추가해 주시구요. - 위의 두 function()은
/xe/modules/document/document.item.php에서 복사해서 붙였습니다.
2단계
/xe/widgets/content/conf/ 에 있는 info.xml 파일의 내용중
<var id="option_view">
<type>select-multi-order</type> <name xml:lang="ko">표시항목 및 순서</name> <name xml:lang="en">Display Target & Order</name> <name xml:lang="vi">Hi?n th? khu v?c va th? t?</name> <name xml:lang="zh-CN">?示?及?序</name> <name xml:lang="zh-TW">顯示項目順序</name> <name xml:lang="jp">表示項目、および順番</name> <options default="false" init="true"> <value>title</value> <name xml:lang="ko">제목</name> <name xml:lang="en">Title</name> <name xml:lang="vi">Tieu đ?</name> <name xml:lang="zh-CN">??</name> <name xml:lang="zh-TW">標題</name> <name xml:lang="jp">タイトル</name> </options> <options> <value>thumbnail</value> <name xml:lang="ko">섬네일</name> <name xml:lang="en">Thumbnail</name> <name xml:lang="vi">Hinh nh?</name> <name xml:lang="zh-CN">?略?</name> <name xml:lang="zh-TW">縮圖</name> <name xml:lang="jp">サムネ?ル</name> </options> <options init="true"> <value>regdate</value> <name xml:lang="ko">등록일</name> <name xml:lang="en">Regdate</name> <name xml:lang="vi">Ngay g?i</name> <name xml:lang="zh-CN">?布日期</name> <name xml:lang="zh-TW">發表日期</name> <name xml:lang="jp">登?日</name> </options> <options init="true"> <value>username</value> <name xml:lang="ko">글쓴이</name> <name xml:lang="en">Author</name> <name xml:lang="vi">Ng??i g?i</name> <name xml:lang="zh-CN">?布者</name> <name xml:lang="zh-TW">作者</name> <name xml:lang="jp">登?者</name> </options> <options> <value>content</value> <name xml:lang="ko">내용</name> <name xml:lang="en">Content</name> <name xml:lang="vi">N?i dung</name> <name xml:lang="zh-CN">?容</name> <name xml:lang="zh-TW">內容</name> <name xml:lang="jp">?容</name> </options> // 추가된 부분 시작 <options> <value>ordername</value> <name xml:lang="ko">주문자</name> <name xml:lang="en">Order Name</name> <name xml:lang="vi">Order Name</name> <name xml:lang="zh-CN">Order Name</name> <name xml:lang="zh-TW">Order Name</name> <name xml:lang="jp">Order Name</name> </options> // 추가된 부분 끝 </var>위가 같이
<options>
<value>ordername</value>
.....중략
</options>
를 추가해 주세요.
여기에서 ordername은 인식자이므로 변수명과 같지 않아도 됩니다.
3단계
/xe/widgets/content/skins/스킨명/normal.html
사용하시는 스킨의 normal.html 파일에
목록형과 테이블형 두개의 부분에 있는 곳에
.........중략 <!-- 추가된 부분 시작 --> <span class="author">{$item->getExtraEidValue("order_name")}</span> <!-- 추가된 부분 끝 --> ......... <!--@end-->같은 파일내의 목록형과 테이블형 두 곳 모두 추가해 주세요.
4단계
최근게시물 위젯이 표시되는 페이지 모듈 수정에서
표시항목 및 순서
에서 좌측에 있는 인식자 ordername 을 오른쪽으로 보내시고 순서를 정하신 후 코드생성 버튼을 누르시면 완성입니다
- [2017/06/17] 묻고답하기 contentextended 사용자정의 출력 시, select type 은 array 이로 나옵니다.
- [2016/07/22] 묻고답하기 덧글단 회원에게만 확장변수 공개 질문 입니다. *2
- [2016/03/25] 묻고답하기 확장변수로 새로운 카테고리(분류)를 만들고 싶습니다
- [2016/02/24] 묻고답하기 글 쓸때 새창 ->구글맵 지도좌표선택->좌표를 확장변수에 입력 문의
- [2015/11/06] 묻고답하기 Board DX 본문 입력을 없애는 방법 알 수 있을까요?
위젯에 확장변수를 출력하는 것이 목적인가요?
그렇다면
xe - widgets - content - content.class.php 열고
클래스 속에
function getExtraVars()
{
$oDocumentModel = &getModel('document');
return $oDocumentModel->getExtraVars($this->get('module_srl'), $this->get('document_srl'));
}
function getExtraEidValue($eid)
{
$extra_vars = $this->getExtraVars();
foreach($extra_vars as $idx => $key)
{
$extra_eid[$key->eid] = $key;
}
return $extra_eid[$eid]->value;
}
이걸 추가
그리고 출력은 원하는 위치에서 {$item->getExtraEidValue("확장변수명")}