주제: 플러그인에서 치환자 사용할수 없나요?
개인적으로 사용할 플러그인을 만들고 있는데
스킨에서 사용하는 치환자를 불러올수 없는지 궁금합니다.
[##_body_id_##]를 사용해서 비교문을 만드려고 하거든요
if ( '[##_$bodyid_##]' == "news") {
}
이런식으로 하는데
아무리해도 불러들여와지지가 않네요.
혹시 방법이 있는데 못찾는건지... 벌써 한시간째 해메고 있네요
도움 한마디 부탁합니다.
아직 로그인하지 않았습니다. 로그인 또는 회원 등록을 해 주시기 바랍니다.
페이지 1
개인적으로 사용할 플러그인을 만들고 있는데
스킨에서 사용하는 치환자를 불러올수 없는지 궁금합니다.
[##_body_id_##]를 사용해서 비교문을 만드려고 하거든요
if ( '[##_$bodyid_##]' == "news") {
}
이런식으로 하는데
아무리해도 불러들여와지지가 않네요.
혹시 방법이 있는데 못찾는건지... 벌써 한시간째 해메고 있네요
도움 한마디 부탁합니다.
치환자는 한번만 사용할 수 있는 치환자와 다수 허용 치환자로 나뉘는 것으로 알고 있습니다. (맞나?)
body id는 1회치환자 일겁니다.
해보니까 1회뿐이 아니고 여러번 호출이 가능하더라구요.
단 skin.html에서 사용할때만 제대로 출력이 되고
플러그인안에서 호출하게 되면 아예 빈 값으로 나오는것 같습니다.
그래서 제가 궁금한게, 과연 스킨에서 사용하는 치환자를 플러그인안에서 호출할 수 있는지.
혹시 없다면, 플러그인안에서 php를 이용해서
현재 문서의 body의 id를 호출할수 있는지 여부입니다.
한 가지 우회적인 방법은 javascript를 사용해서 body id를 읽어 동작을 달리하는 것인데, 만약 반드시 서버측에서 처리해야 하는 일이라면 해결하기 어렵습니다.
스킨에 출력되는 body id는 library/piece/blog/begin.php에서 일정 조건에 따라 바로 스킨에 삽입될 뿐 전역변수로 따로 등록되지 않습니다.
자답하게 되네요.
결국 자바스크립트로 해결을 했습니다.
이런 문제를 스크립트로 할 수 있는지 알지 못해서 플러그인을 만들 생각까지 하게 되었네요.
제가 하려던 것은 skin.html에서 body_id에 따라서 다른 내용을 출력하는 것이었구요.
직접 skin.html안에다가
<script type="text/javascript">
if ( "[##_body_id_##]" == "songs"){
document.write("this is songs");
}
else {
document.write("this is not songs");
}
</script>
이런 식으로 해서 원하는 결과를 얻었습니다.
자답하게 되네요.
결국 자바스크립트로 해결을 했습니다.
이런 문제를 스크립트로 할 수 있는지 알지 못해서 플러그인을 만들 생각까지 하게 되었네요.제가 하려던 것은 skin.html에서 body_id에 따라서 다른 내용을 출력하는 것이었구요.
직접 skin.html안에다가<script type="text/javascript">
if ( "[##_body_id_##]" == "songs"){
document.write("this is songs");
}
else {
document.write("this is not songs");
}
</script>이런 식으로 해서 원하는 결과를 얻었습니다.
음, 조금 더 나은 방법은 document.body.getAttribute('id') == "songs" 표현식을 쓰는 것입니다. 어쨌든 해결하셨다니 다행이지만, 앞으로 스킨 규격 변화에 따라 [##_body_id_##]라는 치환자가 사라질 가능성도 있기 때문입니다.
daybreaker (2009-01-22 18:08:25)에 의해 마지막으로 수정
anaki 작성:자답하게 되네요.
결국 자바스크립트로 해결을 했습니다.
이런 문제를 스크립트로 할 수 있는지 알지 못해서 플러그인을 만들 생각까지 하게 되었네요.제가 하려던 것은 skin.html에서 body_id에 따라서 다른 내용을 출력하는 것이었구요.
직접 skin.html안에다가<script type="text/javascript">
if ( "[##_body_id_##]" == "songs"){
document.write("this is songs");
}
else {
document.write("this is not songs");
}
</script>이런 식으로 해서 원하는 결과를 얻었습니다.
음, 조금 더 나은 방법은 document.body.getAttribute('id') == "songs" 표현식을 쓰는 것입니다. 어쨌든 해결하셨다니 다행이지만, 앞으로 스킨 규격 변화에 따라 [##_body_id_##]라는 치환자가 사라질 가능성도 있기 때문입니다.
아 그런방법이 있었군요 ^^
감사합니다.
적용해서 해결했구요.
저걸 알았으면 썼을텐데, 못찾겠더라구요.
조금씩이라도 자바를 공부해야겠네요 감사합니다^^
조금씩이라도 자바를 공부해야겠네요 감사합니다^^
자바스크립트(Javascript)와 자바(Java)는 상당히 다른 프로그래밍언어입니다. 참고하세요~ ^^;;
페이지 1