1

주제: 플러그인을 만들다 보니 문제가 생겼는데..

플러그인을 만들다 보니 몇가지 문제가 생겨서 도움을 요청합니다.

첫번째 플러그인

<listener event="ViewPostContent">AddContentIndex</listener>

<?
function AddContentIndex($target, $mother) {

    $target = preg_replace("/\(Index:(.*?)\|(.*?)\)/i", "<Index id=$1 /><B>$2</B>", $target);
    $target = preg_replace("/\(Index:(.*?)\)/i", "<Index id=$1 />$1", $target);
    
    return $target;
}
?>

두번째 플러그인

<sidebar name="Hosting Land Advertise" handler="HLAdvertise" />

<?
function HLAdvertise(){
    
    global $configVal;
    requireComponent('Tattertools.Function.misc');
    $DataHLAD = misc::fetchConfigVal($configVal);

    $HLAd =('
    <!-- Advertise -->
    <div class="side_top" onclick="clickshow(10)">Advertise</div>
    <div class="side_mid" id="block10" style="display:block;" align="center">
        <iframe 내용 생략></iframe>
    </div>
    <div class="side_bot"> </div>');

    return $HLAd;
}
?>

위의 두 플러그인 말고도 ♡차칸아이♡님의 팀블로그 프로필 플러그인과 제가 별도로 만든 링크에 이미지를 추가해주는 플러그인 이렇게 4개가지 중 어느 두개가 동시에 작동되면, IE7에서 화면이 깨지는 현상이 나타나네요.
+플러그인의 작동은 의도대로 합니다.

혹시 제가 위 두 플러그인을 만들면서 뭔가 잘 못된 것이 있기 때문이라면 알려주세요;;
정상적으로 출력되는 페이지 : http://autoitkorea.ft.co.kr/test/category
정상적으로 출력되지 않는 페이지 : http://autoitkorea.ft.co.kr/test/

추가로 사이드바에 추가되는 플러그인의 경우, 추가할때는 이상이 없다가 제거할 때에

Warning: Cannot modify header information - headers already sent by (output started at /web/home/isitea/html/TatterTools/plugins/ft_ad/index.php:1) in /web/home/isitea/html/TatterTools/blog/owner/skin/sidebar/delete/index.php on line 1183

라는 오류가 발생하는데, 이는 무엇때문에 발생하는 문제인가요? ft_ad라는 플러그인은 위에 코드로 나온 두번째 플러그인입니다.

2

답글: 플러그인을 만들다 보니 문제가 생겼는데..

태터툴즈는 utf-8로 인코딩되어있는데 이것을 메모장으로 수정 저장하게 되면 페이지 맨 앞에 BOM(Byte Order Mark)가 생겨버려 스킨이나 플러그인들이 깨지는 경우가 발생합니다. 에디트플러스나 기타 BOM가 없는 UTF-8지원되는 에디터를 사용하셔야 수정 저장해보시면 해결되실것 같습니다.

당신의 삶속에 매화꽃 향기처럼 늘 아름다운 향기로 가득하길...
# J.Parker

3

답글: 플러그인을 만들다 보니 문제가 생겼는데..

그렇군요!! 울트라 에딧 쓰면서 non-bom이 뭔지 몰랐는데 이럴때 쓰는 거군요;;

J.Parker님 고맙습니다 >_<

이시테아 (2007-06-26 11:45:16)에 의해 마지막으로 수정