묻고답하기
addon으로 업데이트 하기가 안먹혀요..ㅠㅠ
2012.05.28 18:02
안녕하세요. 애드온을 사용하여 업데이트를 하는 것을 만들어 보려는데 하는데 무엇인 문제인지 잘 모르겟습니다.
도움 부탁드리겠습니다.
하고자 하는 것은 간단합니다.
1. 글쓰기 페이지로 간다.
2. 애드온에서 xe_document_extra_vars 테이블의 특정 칼럼 값을 바꿔준다.
아래 소스는 addon.php 파일의 일부입니다.
아래와 같이 eid, document_srl, value 변수를 할당했습니다.
그리고 executeQuery 함수를 사용하여 updateDeliveryUsage xml 파일을 호출합니다.
이 if문이 작동하는지 확인하기 위하여 브라우저 타이틀을 변경하는 함수를 넣었는데 작동을 잘 합니다.
if($called_position == 'after_module_proc' && $this->act=='dispBoardWrite') {
$args->eid ="using_amount";
$args->document_srl = "211";
$args->value = "211";
executeQuery('addons.delivery_usage.updateDeliveryUsage', $args);
Context::setBrowserTitle("XE코어 형님은 바보...^^ 나? 애드온!");
}
아래는 업데이트를 하기위한 쿼리입니다.
아래와 같이 eid와 document_srl을 기준으로 value 칼럼을 업데이트 하려고 합니다.
<query id="updateDeliveryUsage" action="update">
<tables>
<table name="xe_document_extra_vars" />
</tables>
<columns>
<column name="value" var="value" />
</columns>
<conditions>
<condition operation="equal" column="eid" var="eid" filter="alpha" notnull="notnull" />
<condition operation="equal" column="document_srl" var="document_srl" filter="alpha" notnull="notnull" />
</conditions>
</query>
위와 같이 하였는데 동작이 되지 않는 이유는 무엇일까요?
아래와 같이 sql문으로 할때는 잘 됩니다.
UPDATE XE_DOCUMENT_EXTRA_VARS
SET
VALUE = '211'
WHERE
eid = 'using_amount'
document_srl= '211'
댓글 2
-
hhgyu
2012.05.28 18:49
-
데니스1983
2012.05.28 18:54
답변 감사합니다. 제가 혼란스럽게 적었나 봅니다. 글을 쓴 직후에 애드온을 실행하고자 합니다.^^ -
데니스1983
2012.05.28 19:34
원인을 찾았습니다.
테이블명 을 실제 db에 있는 xe_document_extra_vars 이것으로 하면 안되고, xe_를 뺀 document_extra_vars 이걸로 해야지 먹히네요..ㅠㅠ 이것 때문에 많은 시간을 까먹었네요
글을 쓰기 전에 하는게 아니고 글을 쓰고 난 직후가 되야 하지 않을까요??
글을 쓰지도 않았는데 그에 맡는 확장변수가 있을리가....
아니시라면 다른 뭔가가 있는 건가요?