물론 여러가지 내부 코드를 수정하여 맞게끔 사용하고 있구요.
이슈트래커에 보면 공지글이 등록되지 않습니다.
글쓰기에는 있지만 실제 리스트에는 연동이 되고 있지 않습니다.
공지글를 리스트에 보여주는 방법을 소개할까 합니다.
1. queries 의 getInssueList.xml 복사하여 getInssueListNotice.xml로 생성. 아래 코드 추가
2. getInssueList.xml 내용 수정
3. issuetracker.view.php 내용 수정
dispIssuetrackerViewIssue 함수내 코드 추가
Context::set('issue_notice_list', $output_notice->data);
4. issuetracket.model.php 함수 추가
function getIssueNoticeList($args) {
$query_id = 'issuetracker.getIssueListNotice';
$output = executeQueryArray($query_id, $args);
// 결과가 없거나 오류 발생시 그냥 return
if(!$output->toBool()||!count($output->data)) return $output;
$idx = 0;
$data = $output->data;
unset($output->data);
$keys = array_keys($data);
$virtual_number = $keys[0];
foreach($data as $key => $attribute) {
$document_srl = $attribute->document_srl;
$oIssue = null;
$oIssue = new issueItem();
$oIssue->setAttribute($attribute);
$oIssue->setProjectInfo($attribute);
if($is_admin) $oIssue->setGrant();
$output->data[$virtual_number] = $oIssue;
$virtual_number --;
}
return $output;
}
5. skins 의 issue_list.htm 내용 수정
실제 리스트를 뿌려주는 위 부분에 추가 (<!--@if($page_navigation->total_count == 0)-->)
<tr>
<!--@foreach($display_option as $k => $v)-->
<!--@if($v->checked)-->
<!--@if($k == 'issue_id')-->
<td>{$lang->notice}</td>
<!--@elseif($k == 'status')-->
<td><em class="status {$val->get('status')}">{$val->getStatusSolution()}</em></td>
<!--@elseif($k == 'title')-->
<td class="title"><a href="{getUrl('document_srl',$val->get('document_srl'))}">{$val->getTitle()}</a>
{$val->printExtraImages(60*60*24)}
<!--@if($val->getCommentCount())-->
<strong class="comment">{$val->getCommentCount()}</strong>
<!--@endif-->
<!--@if($val->getTrackbackCount())-->
<strong class="trackback">{$val->getTrackbackCount()}</strong>
<!--@endif-->
</td>
<!--@elseif($k == 'milestone')-->
<td>{$val->getMilestoneTitle()}</td>
<!--@elseif($k == 'priority')-->
<td>{$val->getPriorityTitle()}</td>
<!--@elseif($k == 'type')-->
<td>{$val->getTypeTitle()}</td>
<!--@elseif($k == 'component')-->
<td>{$val->getComponentTitle()}</td>
<!--@elseif($k == 'occured_version')-->
<td>{$val->getOccuredVersionTitle()}</td>
<!--@elseif($k == 'package')-->
<td>{$val->getPackageTitle()}</td>
<!--@elseif($k == 'assignee')-->
<td><!--@if($val->get('assignee_srl'))--><span class="member_{$val->get('assignee_srl')}">{$val->get('assignee_name')}</span><!--@else--> <!--@endif--></td>
<!--@elseif($k == 'writer')-->
<td>
<!--@if($val->get('member_srl'))-->
<span class="member_{$val->get('member_srl')}">{$val->getNickName()}</span>
<!--@else-->
{$val->getNickName()}
<!--@end-->
<span class="time">{$val->getRegdate("Y.m.d")}</span>
</td>
<!--@else-->
<td></td>
<!--@end-->
<!--@endif-->
<!--@endif-->
<!--@if($grant->is_admin)--><td><input type="checkbox" name="cart" value="{$val->document_srl}" onclick="doAddDocumentCart(this);" <!--@if($val->isCarted())-->checked="checked"<!--@end-->/></td><!--@end-->
</tr>
<!--@endif-->
이상 공지글 리스트를 보여주기 위한 코드였습니다.
팀내부에서 사용할거라 급하게 추가한 내용이라 코드 정리는 되어 있지 않습니다.
관심 있는 분께서 정리를 한번 해 보시죠..
다른 여러 코드가 섞여있어서 빼고 정리한건데.. 잘 될지 모르겠네요.
혹시 에러가 발생되면 알려주세요.
XE CORE Ver 5.0.0.8