[HOOK] add_replace 중 array 값은 어떻게 받아오나요?
본문
게시물 보기에서 썸네일의 샤픈 값을 hook을 이용해 일괄로 변경하려고 합니다.
thumbnail.lib.php 58라인의
if( $thumbnail_info = run_replace('get_list_thumbnail_info', array(), array('bo_table'=>$bo_table, 'wr_id'=>$wr_id, 'data_path'=>$data_path, 'edt'=>$edt, 'filename'=>$filename, 'filepath'=>$filepath, 'thumb_width'=>$thumb_width, 'thumb_height'=>$thumb_height, 'is_create'=>$is_create, 'is_crop'=>$is_crop, 'crop_mode'=>$crop_mode, 'is_sharpen'=>$is_sharpen, 'um_value'=>$um_value)) ){
return $thumbnail_info;
}
를 run_replace로 변경하기 위해
우선 extend 폴더에 파일을 만들어
add_replace('get_list_thumbnail_info', 'sharpen_replace', 10);
를 넣어두고 그 위에
function sharpen_replace( array(), array('bo_table'=>$bo_table, 'wr_id'=>$wr_id, 'data_path'=>$data_path, 'edt'=>$edt, 'filename'=>$filename, 'filepath'=>$filepath, 'thumb_width'=>$thumb_width, 'thumb_height'=>$thumb_height, 'is_create'=>$is_create, 'is_crop'=>$is_crop, 'crop_mode'=>$crop_mode, 'is_sharpen'=>$is_sharpen, 'um_value'=>$um_value) )
{
}
이렇게 넣었더니
Parse error: syntax error, unexpected token "(", expecting variable in
에러가 나오네요.
해당 라인은 array가 삽입된 줄입니다.
아직 어떻게 $is_sharpen 값과 $um_value 을 변경해야 하는지도 모르고 있는데
첫줄부터 막히네요 ㅎㅎ
괄호가 안닫힌 문제는 아닌 것 같은데 문법적으로 어떻게 잘못되었는지 이해가 되지 않네요.
고수님들의 도움 부탁드립니다.
!-->!-->!-->
답변 2
assign는 array를 선언을 할수 있지만.. assign array안쪽에 변수선언은 assign에서 사용하실수 없네요..
따라서 아래와 같이 2가 array를 하셔서
보낼때
$test2 같은경우 array 에 값을 할당하셔서 보내주시면될꺼 같네요.
function sharpen_replace( $test1=array(), $test2=array() )
{
if($test2) {
$bo_table ="test";
$wr_1 ="test"; // 값이 없이 넘어왔을경우 이런 if조건을 태워서..값은 셋해보시면될꺼 같아요.
$test2=array('bo_table'=>$bo_table, 'wr_id'=>$wr_id, 'data_path'=>$data_path, 'edt'=>$edt, 'filename'=>$filename, 'filepath'=>$filepath, 'thumb_width'=>$thumb_width, 'thumb_height'=>$thumb_height, 'is_create'=>$is_create, 'is_crop'=>$is_crop, 'crop_mode'=>$crop_mode, 'is_sharpen'=>$is_sharpen, 'um_value'=>$um_value);
}
}
assign을 하는 부분이 array를 선언하셨는데요..
이렇게 하시면 에러 나구요.~
$test1= array(),
$test2= array('bo_table'=>$bo_table, 'wr_id'=>$wr_id, 'data_path'=>$data_path, 'edt'=>$edt, 'filename'=>$filename, 'filepath'=>$filepath, 'thumb_width'=>$thumb_width, 'thumb_height'=>$thumb_height, 'is_create'=>$is_create, 'is_crop'=>$is_crop, 'crop_mode'=>$crop_mode, 'is_sharpen'=>$is_sharpen, 'um_value'=>$um_value
이런식으로 해보시면 어떨까요?
변수값에 초기값을 넣어주면 assign을 하시면될꺼 같은데요.
값을 assign하는부분은 그냥 array만 넣게 되니 시스템은 어떤값을 처리해햐할지 모르기 때문에 에러를 내는거죠.