로그인

검색

스킨상에서 함수 추가 애드온

본 애드온은 XE 스킨 상에서 특정 php의 함수를 호출하여 템플릿 실행 전 추가 시켜주는 애드온 입니다.

자료 분류 애드온 0 / 0
라이선스 GPL v2
제작자 라르게덴
홈페이지 www.animeclub.net
설치 경로 ./addons/func_include
최초 등록일 2009-09-28 00:00 전체 다운로드 1
최근 버전 v1.0 다운로드

해당 자료는 라이믹스2에서 동작여부가
확인되지 않았습니다.

라이믹스2 동작 인증하기

다운로드 1
최근 업데이트 2009-09-28 00:00 0 / 0

 이번에 스킨을 제작하다가 필요이상의 기능이 스킨상에서 이루워져야 하는 문제 등으로 애드온을 하나 만들게 되었습니다.

소개
본 애드온은 XE 스킨 상에서 특정 php의 함수를 호출하여 템플릿 실행 전 추가 시켜주는 애드온 입니다.

설치
- 아래 첨부파일 func_include.zip 파일을 다운 받아 압축을 풀어서 addons 폴더안에 넣으세요.
- 관리자 페이지에서 해당 애드온을 사용으로 설정해주세요.

사용법
본 애드온을 이용하여 스킨상에서 php문을 불러오기 처리하기 위해서는 아래와 같은 조건이 되어있어야 합니다.

파일준비
스킨상에서 선언되는 경로안에 파일이 있어야 하기 때문에
스킨폴더상에 'php 폴더명'(아무이름상관無), 'class.php'(아무이름상관無) 을 만들어주세요.

class.php의 기본 내용

1
2
3
4
5
6
7
8
<?php
    if(!defined("__ZBXE__")) exit();
    class 클래스명 {
        function test(){
            return 'ok';
        }
    }
?>


위 테스트가 기본 내용 입니다.
클래스명을 임의로 만들어주시고 그 안에 함수들을 만들어주세요.

템플릿파일안에 선언
예) modules/board/skins/스킨명/아무파일중.html

1
2
3
<!--@if($func_check)-->
{@ func_include('modules/board/skins/스킨명/php/class.php') }
<!--@end-->


func_include 함수는 애드온에 포함되어 있습니다.
()안의 내용은 xe메인 폴더로 부터 이름부터 시작해서 파일확장자명까지 적어주시면 됩니다.
<!--@if($func_check)--><!--@end--> 이것을 사용하는 이유는 애드온 실행 여부 검사 입니다.
애드온 안에는 실행여부를 파악할 $func_check 변수를 생성하도록 되어있습니다.
반드시 불러온 모든 호출 함수는 위와 같이 변수로 감싸주시기 바랍니다.

ps : './, /' 등 앞에 쓰지마세요.

함수접근 및 선언법

1
2
3
<!--@if($func_check)-->
{ 클래스명::test() }
<!--@end-->

위와 같이 기본적인 조건을 설정하신 후 스킨 출력을 했을 시 ok가 나오면 성공 입니다.

DB용 XML 파싱법
함수 안에서 요청받은 내용만 가공이 아니라 DB내용도 불러올 수 있습니다.

스킨상에 php폴더와 동등한 위치에 'queries'폴더를 생성해 주세요.
해당 폴더안에 제작하신 xml등을 추가해주세요.

DB XML 파싱 접근법
1
2
3
4
//스킨
$output = executeQueryArray('board/skins/스킨명.xml파일명(확장자제외)', $args);
//위젯
$output = executeQueryArray('widgets.위젯명/skins/스킨명.xml파일명(확장자제외)', $args);


이상의 설명을 듣고서도 이해 되시는 분들이 있고 안되시는 분들이 계실 겁니다.
본 애드온을 이용하여 제작된 로마네스크 로그인 스킨이 있습니다.
해당 스킨안에 위 접근 법 등 기본적인 내용이 들어가 있으니 이해 안되시는 분들은
그 부분이라도 좀 더 참고해 주시기 바랍니다.

덧 : info.xml에 일어설명 부분이 깨져서 다시 만들어서 올립니다.
문제를 알려주신 미나미님 고맙습니다. ^^

이 자료는 XE 공식 자료실에서 자동으로 다운로드한 자료입니다.
라이믹스 최신버전에서는 동작하지 않을 수 있습니다.

원본 : [공식 자료실 게시글로 이동]