웹마스터 팁
1.4.4 판올림 이후 발생하는 문제들 - 개발자용
2010.09.30 21:07
1.4.4 판올림 이후 일부 스킨에서 문제가 나타났는데, 직접 찾은 해결책들을 간략히 올립니다.
다른 방법들도 있을 수 있으니, 의견이 있으신 분들은 댓글로 도와주시면 고맙겠습니다.
1. PHP 오류
이전에는 스킨의 HTML 파일 안에서 직접 <?php ~ ?>와 같이 PHP 사용이 가능했으나,
이번에 변경된 문법으로 인해 금지되어 1.4.4에서는 오류가 나게 됩니다.
해결책은, PHP 코드를 별도의 .php 파일로 분리하여 require_once 함수로 불러오는 것입니다.
{@
require_once('modules/ ~ /파일.php');
}
2. Javascript 파일 호출 오류
역시 변경된 문법에 의해, HTML 안의 모든 src 요소들에 자동으로 주소 보정이 이루어지게 됩니다.
헌데 그 조건이 까다로워서, 불필요하게 보정이 붙거나 필요한 보정이 붙지 않는 경우가 생깁니다.
- <script src="modules/ (현재 주소) /내부폴더명/script.js" />
= × modules 앞에 추가로 보정이 이루어져 modules/ (현재 주소) modules/ (현재 주소) 형식으로 두번 반복되게 됩니다. - <script src="/내부폴더명/script.js" />
= × 앞에 붙은 '/' 때문에 보정이 이루어지지 않습니다. - <script src="내부폴더명/script.js" />
= ○ 보정이 이루어져 modules/ (현재 주소) /내부폴더명/script.js와 같이 정상적으로 연결됩니다.
댓글 10
-
SMaker
2010.09.30 21:22
-
June Oh
2010.09.30 21:30
모듈까지 필요한 기능의 확장보다는..
추후의 용이한 유지·보수를 위한 깔끔 코딩을 도와주는 도구로 PHP 함수들을 만들고 쓰고 있답니다~
HTML button 요소를 만들어주는 function buttonize ($name, $href = false, $onclick = false, $blank = false, $accesskey = false)와 같이 말이지요.
-
sol
2010.10.01 09:22
정말 좋지 않은 사용 방법입니다.
만약에 로직에서 buttonize function 이 정의 된다면 문제가 생기겠죠.
템플릿에서는 템플릿 문법만 사용하시기를 권고해 드립니다.
-
June Oh
2010.10.01 13:34
헉! sol님까지 오셔서 직접 말씀주시니 조심스러워지네요.
근데 이런 조언은 처음 듣는거라, 몇가지 질문이 있어요~
- require_once 하여 불러온 PHP 파일 내에 정의된 함수가 충돌하여 발생하는 문제는, 여타 모듈이나 애드온 등에서도 똑같은 위험성이 있는 것 아닌가요?
- 템플릿에서는 불러올 수 없는 PHP 변수가 필요한 경우나 함수들을 직접 구현해서 사용해야하는 때가 생기는데, 그럼 이렇게 PHP 문법들이 직접 들어가는 기능들은 모두 포기해야 하는 건가요?
바쁘실텐데 이런 질문들이 귀찮게 해드린다면 죄송합니다. ㅠ.ㅠ
이 방법을 사용하는데 있어 따라오는 장·단점들을 명확히 알아야 개발을 제대로 할 수 있을 것 같아서요..
-
sol
2010.10.01 14:13
쉽게 예를 들자면 위와 같이 스킨이 개발되는 경우 제로보드4와 같은 최후가 될 가능성이 큽니다.
즉 업데이트 및 패치의 문제성, 악의적인 코드들의 삽입이 될 가능성이 생기게 됩니다.
-
June Oh
2010.10.01 19:47
그렇군요.. ZB4와 같은 말로는 걷고 싶지 않으니;;
조언 감사합니다. 싹 갈아 엎어서 SMaker님 말씀대로 따로 애드온 등으로 분리해야겠네요.
-
라르게덴
2010.10.02 02:57
전 그래서 func_include 애드온을 만들어서 쓰고있어요 ^^
DB쿼리도 xml query를 쓸 수 있어요.
-
June Oh
2010.10.02 14:23
헉~ func_include 애드온이라.. 혹시 구경이 가능할까요? ㅠ.ㅠ
-
라르게덴
2010.10.02 14:49
아주오래전에 자료실에 등록해놓은 애드온인데요;;
자료실 가셔서 검색을 func_include로 해보세요.
-
June Oh
2010.10.02 15:04
헉, 등잔 밑이 어둡다더니 자료실을 생각 못했네요. ㅠ.ㅠ
감사합니다! 바로 받아서 적용해봐야겠어요 :)
라르게덴님 좋은 주말 보내세요~
제목 | 글쓴이 | 날짜 |
---|---|---|
링크시 텍스트 혹은 이미지에 생기는 점선 CSS로 없애기 [9] | 겨우리851 | 2010.04.24 |
XE를 처음 접하거나 이제막 사이트개발을 하려는 초보자를 위한 XE 접근방법 [1] | DuRi | 2009.11.12 |
1.4.4.1 업데이트이후 이미지가 엑스박스로 뜨는 분들 참고 [1] | 위드파트너 | 2010.10.04 |
관리화면(제어판)에서 게시판목록 많이 보기 [1] | 연필깎는까치 | 2009.08.22 |
Google Analytics 코드 직접 추가해도 안되시는 분들! | 연필깎는까치 | 2009.08.24 |
Cooliris 위젯 사용 삽질끝에 어이없게 알아낸 설치 방법 [2] | 사탕 | 2009.09.01 |
ㅋㅋ계정용량 체크(php)팁. [2] | mc뷰 | 2009.09.02 |
퀵타임 무비 화일 (mov) 화일을 퀵타임 플레이어로 재생하기 [2] | thejaewoo | 2009.09.08 |
이모티콘 액박으로 뜨시는 분들 ...이거 올려 주세요 [1] | apollos | 2009.09.03 |
복수 도메인 사용 방법 [1] | 박하향풍선껌 | 2009.09.07 |
활성 메뉴 위젯 | 박송휘 | 2009.09.10 |
XE 속도 향상 팁 (코어 수정 팁) [6] | SMaker | 2010.06.26 |
쉬운 설치 오류 해결..까지는 아니구요.. ㅎㅎ | 차명기993 | 2010.09.07 |
css 배경이미지가 잘린다 싶을때... | ForHanbi | 2010.09.14 |
PHP 5.3.X 버전 사용자들 중 XE 최신버전의 위젯 생성, 텍스타일 등에서의 에러날 때... | 비나무 | 2010.10.03 |
크로스 브라우징을 위한 css 초기화 [2] | hhgyu | 2010.10.05 |
게시판 가로사이즈 줄이기....[초보만 클릭] [4] | 유팔복 | 2009.03.07 |
rewrite mod 설정, 해지 [1] | 아름드리479 | 2007.08.22 |
textarea 에디터를 사용하는 리플에서 태그 막기 [2] | 老姜君 | 2009.02.22 |
1.4.4 판올림 이후 발생하는 문제들 - 개발자용 [10] | June Oh | 2010.09.30 |
어떻게든 간에 스킨에서 php 파일을 불러서 기능을 확장하는 것은 뭔가 찝찝하네요.
차라리 모듈을 만들어서 불러오는 게 안정적일 듯 하네요.