묻고답하기
부모 댓글 닉네임 구하기
2012.03.02 18:44
phpmyadmin에서 xe_comments 테이블에 parent_nick_name 필드를 추가하고
ALTER TABLE `xe_comments` ADD `parent_nick_name` VARCHAR(80) ;
한후
comment.controller.php 154 라인쯤
// 부모댓글이 없으면 바로 데이터를 설정
if(!$obj->parent_srl) {
$list_args->head = $list_args->arrange = $obj->comment_srl;
$list_args->depth = 0;
// 부모댓글이 있으면 부모글의 정보를 구해옴
} else {
// 부모댓글의 정보를 구함
$parent_args->comment_srl = $obj->parent_srl;
$parent_output = executeQuery('comment.getCommentListItem', $parent_args);
// 부모댓글이 존재하지 않으면 return
if(!$parent_output->toBool() || !$parent_output->data) return;
$parent = $parent_output->data;
$list_args->parent_nick_name = $parent->nick_name;
$list_args->head = $parent->head;
$list_args->depth = $parent->depth+1;
// depth가 2단계 미만이면 별도의 update문 없이 insert만으로 쓰레드 정리
if($list_args->depth<2) {
$list_args->arrange = $obj->comment_srl;
// depth가 2단계 이상이면 반업데이트 실행
} else {
// 부모 댓글과 같은 head를 가지고 depth가 같거나 작은 댓글중 제일 위 댓글을 구함
$p_args->head = $parent->head;
$p_args->arrange = $parent->arrange;
$p_args->depth = $parent->depth;
$output = executeQuery('comment.getCommentParentNextSibling', $p_args);
if($output->data->arrange) {
$list_args->arrange = $output->data->arrange;
$output = executeQuery('comment.updateCommentListArrange', $list_args);
} else {
$list_args->arrange = $obj->comment_srl;
}
}
}
$output = executeQuery('comment.insertCommentList', $list_args);
if(!$output->toBool()) return $output;
빨강색 부분을 추가하면 부모 댓글의 닉네임이 parent_nick_name 필드를 입력이 되야 정상인데...
입력이 안되고 있습니다.
쿼리가 빠졌다고 해서 insertComment.xml(?) insertCommentList.xml(?) 를 수정해야 될듯 한데 어떻게 수정해야 될까요?
<query id="insertComment" action="insert">
<tables>
<table name="comments" />
</tables>
<columns>
<column name="comment_srl" var="comment_srl" notnull="notnull" />
<column name="module_srl" var="module_srl" filter="number" notnull="notnull" />
<column name="parent_srl" var="parent_srl" filter="number" default="0" />
<column name="document_srl" var="document_srl" filter="number" notnull="notnull" />
<column name="is_secret" var="is_secret" default="N" />
<column name="notify_message" var="notify_message" default="N" />
<column name="content" var="content" notnull="notnull" />
<column name="voted_count" var="voted_count" default="0" />
<column name="blamed_count" var="blamed_count" default="0" />
<column name="password" var="password" minlength="2" maxlength="60" />
<column name="nick_name" var="nick_name" notnull="notnull" minlength="1" maxlength="40" />
<column name="user_id" var="user_id" default="" />
<column name="user_name" var="user_name" default="" />
<column name="member_srl" var="member_srl" default="0" filter="number" />
<column name="email_address" var="email_address" filter="email" maxlength="250" />
<column name="homepage" var="homepage" filter="homepage" maxlength="250" />
<column name="uploaded_count" var="uploaded_count" default="0" />
<column name="regdate" var="regdate" default="curdate()" />
<column name="last_update" var="last_update" default="curdate()" />
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
<column name="list_order" var="list_order" default="0" />
<column name="parent_nick_name" var="parent_nick_name" default="" notnull="notnull" minlength="1" maxlength="40" />
</columns>
</query>
번지수를 잘못 찾았나 싶어
ALTER TABLE `xe_comments_list` ADD `parent_nick_name` VARCHAR(80) ; 하고
<query id="insertCommentList" action="insert">
<tables>
<table name="comments_list" />
</tables>
<columns>
<column name="comment_srl" var="comment_srl" notnull="notnull" />
<column name="document_srl" var="document_srl" filter="number" notnull="notnull" />
<column name="head" var="head" filter="number" />
<column name="arrange" var="arrange" filter="number" />
<column name="module_srl" var="module_srl" filter="number" notnull="notnull" />
<column name="regdate" var="regdate" />
<column name="depth" var="depth" filter="number" />
<column name="parent_nick_name" var="parent_nick_name" default="" notnull="notnull" minlength="1" maxlength="40" />
</columns>
</query>
두개의 파일에서 빨간색 부분을 추가해도 작동이 안되네요. 쿼리.. 어딜 어떻게 손봐야 될까요?