묻고답하기
$buff[] 로 시작하는 소스는 무었인지 잘 모르겠습니다.
2016.12.27 17:59
Extravar.class.php 를 수정중입니다.
html 소스는 아래와 같습니다. 우선 잘 동작합니다.
<script>
$('#datetimepicker').datetimepicker({value:'',step:30});
</script>
잘몰라 아래처럼 수정해봤으나 전혀 동작을 안합니다.
$buff[] = '<script type="text/javascript">';
$buff[] = '$("#datetimepicker").datetimepicker({value:"", step:"30"})';
$buff[] = '</script>';
혹시 이부분 수정을 어떻게 하면 될까요?
부탁드립니다.
댓글 5
-
디트리히A
2016.12.27 18:01
-
HowtoXE
2016.12.27 18:27
윗분 말씀처럼 하시면 안되구요, 일단 $buff 변수가 배열이 확실한가요? 그것부터 확인을 해보시기 바랍니다.
배열이 맞다면 $buff[] = 스크립트; 이렇게 한줄로 적어주시고, 배열이 아니라면 [ ]를 제거하고 그냥 $buff 에 대입하시기 바랍니다.
-
디트리히A
2016.12.27 20:19
https://www.xpressengine.com/index.php?mid=qna&document_srl=23200246&comment_srl=23200390 의 연장선인거같습니다.
-
HowtoXE
2016.12.27 21:13
[]은 배열 원소 푸시할때 쓰는거라 .= 같이 문자열 이어붙이는 식으로 쓰면 안됩니다. 그래서 님 답변대로 하면 안되고 배열과 문자열부터 구분하라고 답변드린겁니다.
-
두르
2016.12.28 08:09
배열인지 아닌지는 제가 잘모르겠습니다.
jquery 로 된 datepicker를 사용해보고자 하다보니 이리저리 건드려 보는 중입니다.
html로 된건 일단 잘 동작합니다.
소스는 아래와같습니다.
123456789101112131415161718192021<html lang="kr"><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><link rel="stylesheet" type="text/css" href="./jquery.datetimepicker.css"/></head><body><input type="text" value="" id="datetimepicker"/><br><br></body><script src="./jquery.js"></script><script src="./build/jquery.datetimepicker.full.js"></script><script>$.datetimepicker.setLocale('kr');$('#datetimepicker').datetimepicker({value:'',step:30});</script></html><script>$('#datetimepicker').datetimepicker({value:'',step:30});</script>xe에서는 Extravar.class.php 에 포함되어있는데 기본 datepicker 소스부분을 보면
1234567891011121314151617181920212223242526// datecase 'date' :// datepicker javascript plugin loadContext::loadJavascriptPlugin('ui.datepicker');$buff[] = '<input type="hidden" name="' . $column_name . '" value="' . $value . '" />';$buff[] = '<input type="text" id="date_' . $column_name . '" value="' . zdate($value, 'Y-m-d') . '" class="date" />';$buff[] = '<input type="button" value="' . Context::getLang('cmd_delete') . '" class="btn" id="dateRemover_' . $column_name . '" />';$buff[] = '<script type="text/javascript">';$buff[] = '//<![CDATA[';$buff[] = '(function($){';$buff[] = '$(function(){';$buff[] = ' var option = { dateFormat: "yy-mm-dd", changeMonth:true, changeYear:true, gotoCurrent:false, yearRange:\'-100:+10\', onSelect:function(){';$buff[] = ' $(this).prev(\'input[type="hidden"]\').val(this.value.replace(/-/g,""))}';$buff[] = ' };';$buff[] = ' $.extend(option,$.datepicker.regional[\'' . Context::getLangType() . '\']);';$buff[] = ' $("#date_' . $column_name . '").datepicker(option);';$buff[] = ' $("#dateRemover_' . $column_name . '").click(function(){';$buff[] = ' $(this).siblings("input").val("");';$buff[] = ' return false;';$buff[] = ' })';$buff[] = '});';$buff[] = '})(jQuery);';$buff[] = '//]]>';$buff[] = '</script>';break;위와 같습니다. 전부 $buff[] = 로 시작합니다. 이부분을 구글링 해봐도 잘 모르겠어서 여기에 질문드렸습니다.
$buff[] 라는 변수에 해당 스크립트를 넣으려는 의도는 모르겠으나..
$buff[] = '<script type="text/javascript">';
$buff[] .= '$("#datetimepicker").datetimepicker({value:"", step:"30"})';
$buff[] .= '</script>';
이렇게 하시고 echo $buff[]; 하시면 출력될겁니다.