add_style_sheet() 관련
본문
그누보드5입니다
1.
tail.sub.php에
<?php echo html_end(); // HTML 마지막 처리 함수 : 반드시 넣어주시기 바랍니다. ?> 이 구문이 잘 붙어 있습니다
2.그누보드 설정 후 theme 폴더에 제가 만들려는 폴더를 만든 것 외에 수정한 부분이 없으니 common.lib.php도 그대로 일 것입니다.
3.head.sub.php 에
<title><?php echo $g5_head_title; ?></title>
아래 css 파일들이 로드되고 있습니다
4. meta 태그를 입력시 그럴 수 있다고 해서 meta 태그도 주석처리했습니다
게시판 skin 에 css 파일이 로드 되지 않아 직접 로드 시켜서 해결은 했지만
무엇이 문제인지 알고싶습니다
답변 8
처리되는 과정이
/*
</title>
<link rel="stylesheet" href="default.css">
밑으로 스킨의 스타일시트가 위치하도록 하게 한다.
*/
$buffer = preg_replace('#(</title>[^<]*<link[^>]+>)#', "$1$stylesheet", $buffer);
되어 있습니다
타이틀 아래에 주석안 처럼
</title>
<link rel="stylesheet" href="default.css">
타이틀 끝에 스타일 시트가 오시는지 한번 확인해 보세요
add_stylesheet()작동 안하신다는 분들 제가 위에 적은 tail.php 나 메타 태그 등도 확인하시고
head.sub.php 안에
<title><?php echo $g5_head_title; ?></title>
아래
<link rel="stylesheet" href="<?php echo G5_THEME_CSS_URL; ?>/<?php echo G5_IS_MOBILE ? 'mobile' : 'default'; ?>.css?ver=<?php echo G5_CSS_VER; ?>"> 구문 지우시면 안됩니다.
<title>...<title>
<link....
위와같이 title 바로밑에 <link.. 와 같이 반드시 하나이상의 스타일을 선언해주어야 하며, title과 link 사이에 공백이나 빈칸 빈 한줄이 포함되어 있으면 안되는 것으로 압니다.
함수명이 틀린것 같습니다.
add_stylesheet
테마사용시에는,
/head.sub.php 가 사용되지 않고
/theme/[테마명]/head.sub.php 가 사용됩니다.
/theme/[테마명]/head.sub.php 에 코드를 넣어주시면 됩니다.
(게시판,최신글) 스킨 등에 로드되는 css는 add_stylesheet 함수가 사용되지만
head.sub.php 에서 보드의 css를 사용하실려면 전체적인 경로를 입력해 주셔야 합니다.
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0); 경우는
게시판 스킨의 view.skin.php 같은곳 상단에 입력해 주시면 로드가 됩니다.
단 뒤에 나오는 숫자에 따라 빨리 로드 될수도 있고 나중에 로드가 될수 있습니다.
common.php 에 스킨의 경로가 정의 되어 있으니 참조 하세요.
작동을 안할리가 있습니까?
add_stylesheet 함수는 호출이 되었을겁니다
여기에서 문제는 html_process 클래스의 변수인 $this->css 에
중복된 스타일 시트라서 무시되었거나
제대로 처리가 되었더라도
순서에서 밀렸거나.. 하는 이유일겁니다
크롬 개발자 모드에서 확인해 보세요
1. 지정한 css 가 현재 제대로 load 되고 있는가
2. 로드된 순서는 뒤로 밀리지는 않았는지
3. 1,2 가 제대로 되었다 하더라도 css 가 지정한 엘리먼트에 제대로 적용되고 있는지
이도 저도 안되면
해당 URL 을 공개하셔서 답변받으시길 권합니다
지금처럼 개발자가 이해하기 쉽지않은 텍스트로 질문하시면
정확한 답변을 받기 쉽지 않을 수 있습니다
add style 소스를 보면 head.sub.php 제일 마지막 <?php echo html_end(); // HTML 마지막 처리 함수 : 반드시 넣어주시기 바랍니다. ?>에서 처리됩니다. 아마 마지막 까지 못가거나.. (중간에 exit)
<title><body> 사이에서 삽입된데 그게 없으나 할것같습니다. ^^