묻고답하기
최근게시물 위젯에 게시판 확장변수 출력
2012.01.04 10:11
환경
XE CORE ver. 1.5.1.2
최근글 위젯에 게시판에 들어간 확장변수의 값을 받아와 뿌려주려고 합니다.
검색을 통해서 현재
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;
}
xe - widgets - content - skins - default - normal.html
에
{$item->getExtraEidValue("확장변수명")}
하였으나 실패하였습니다.
조언좀 부탁드립니다.
댓글 2
-
준희^^+
2012.01.04 10:20
-
해피신
2012.01.04 10:51
마찬가지 입니다. ㅠ_ㅠ {$item->getExtraEidValue(1)} 이렇게 해도 마찬가지구요.. 확장변수명은 url 이구요 먹통이 되어버립니다. -
송동우
2012.01.04 11:00
첫째
content.class.php 속에 추가하는 것은
어떻게 추가했나요?
클래스 속에 넣어야 합니다.
그대로 카피해서
클래스 속에 넣으면 됩니다.
둘째
{$item->getExtraEidValue("확장변수명")}
예를 들어 게시판에 확장변수를 만들때
가격이라는 확장변수를 만들고 그걸 price 라고 변수명으로 했다면
{$item->getExtraEidValue("price")}
이렇게 넣으면 되겠죠
normal.html 페이지에 보면
소스가 위쪽 아랬쪽 두 군데로 나눠져 있습니다.
같은 소스가 위쪽에 있고 또 아랫쪽에 있습니다.
html 타입을 ul로 하느냐 table로 하느냐에 따라
적용대상이 달라집니다.
위젯 생성때 table로 했다면(기본적으로 table로 선택되어 있을겁니다)
아랫쪽에 있는 소스에서 원하는 위치를 찾아서 넣어면 됩니다.
1.4.x 버전 / 1.5.x 버전 모두 똑같습니다.
-
해피신
2012.01.04 11:38
감사합니다. 클래스속에 넣는 위치에 문제가 있었네요. 다시한번 차근차근 해보니 잘되네요 감사합니다.
{$item->getExtraEidValue("확장변수명")}
확장변수명을 게시판에서 추가한 확장변수 순서의 숫자로 넣어보세요.
즉, 게시판에서 3번째 추가한 확장변수라면 {$item->getExtraEidValue(3)} 이렇게 해주시면 나오더군요.