html_process 위치가 아쉽습니다.

html_process 위치가 아쉽습니다.

QA

html_process 위치가 아쉽습니다.

본문

common.php에서 아래처럼 html_process이 extend 파일 인클루드보다 앞서있으면

extend파일에서 add_javascript도 사용할 수 있고 좋을것같은데 어떨까요?

 

 

$html_process = new html_process();

 

// common.php 파일을 수정할 필요가 없도록 확장합니다.
$extend_file = array();
$tmp = dir(G5_EXTEND_PATH);
while ($entry = $tmp->read()) {
    // php 파일만 include 함
    if (preg_match("/(\.php)$/i", $entry))
        $extend_file[] = $entry;
}

if(!empty($extend_file) && is_array($extend_file)) {
    natsort($extend_file);

    foreach($extend_file as $file) {
        include_once(G5_EXTEND_PATH.'/'.$file);
    }
}
unset($extend_file);

이 질문에 댓글 쓰기 :

답변 1

순서가 바뀌어서는 안됩니다. 확장 소스파일들 처리는 html_process보다 앞설 필요가 있을 거 같은데요. extend를 만든 건 common.php파일 수정을 금지하기 위한 조치라는 걸 생각하셔야 합니다.

 

원하는 소스를 넣는 방법은 다양합니다. theme 즉 테마를 만든 것은 원본 소스를 최대한 수정하지 않은 채 원하는 방식으로 소스 수정하기 위해 첨가된 겁니다. 따라서 테마를 하나 만든다음 거기에 수정하고자 하는 자바스크립트 소스를 추가하는 편이 좋을 듯하네요. 추가된 테마에서 extend된 파일의 내용을 읽게 할 수도 있습니다.

 

가령 extend 폴더에 add_script.php라고 하고 원하는 자바스크립트 소스를 $common_add_script라는 변수에 넣어준다음, 테마의 head.sub.php파일을 수정하여 $common_add_script를 추가하도록 소스를 수정하면 됩니다.

저의 부족한 식견으로는 html_process가 앞서도 아무 문제 없어 보여서 이렇게 질문드렸습니다.

extend에서 add_javascript를 사용하고 싶었던 이유는 플러그인을 제작해 배포하는 경우 스킨파일 수정을 강요하고 싶지 않아서 입니다.

주신 답변 읽어보고 생각해보니 나름 앞서지 못하는 이유가 있을것 같기도 합니다만 아쉬움이 남네요.

답변 감사드리고, 좋은 하루 보내시길 바랍니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 59,514
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT