안녕하세요.
하나의 스킨, 예를 들어 default 스킨, 을 board_id 에 따라서 다른 레이아웃을 적용하고 싶습니다. (document.php, list.php)
아주 기초적인 php만 공부한 상태라서 $_GET['board_id'] 와 if 문을 사용해서 해결하려고 하였으나,
문제는 url에 board_id 인자가 없어서 무용지물이었습니다.
혹시 document.php와 list.php에서 board_id 를 받아오는 방법이 있을까요?
안녕하세요~^^
KBoard 게시판 list.php 파일과 document.php 파일에서
$board->id 코드를 활용하시면 게시판 id를 받아올 수 있습니다.
만약, 게시판 id가 1이라면 아래의 코드를 활용해서
1번 게시판에만 실행되는 코드를 작성하실 수 있습니다.
<?php if($board->id == '1'): // 실제 게시판 id로 적용해주세요?>
<!-- 1번 게시판에서만 실행됩니다. -->
<?php endif?>
아래의 코드를 활용하시면 1번 게시판에만 실행되는 코드와
1번 게시판이 아닌 게시판에서 실행되는 코드를 각각 추가하실 수 있습니다.
<?php if($board->id == '1'): // 실제 게시판 id로 적용해주세요?>
<!-- 1번 게시판에서만 실행됩니다. -->
<?php else:?>
<!-- 1번 게시판이 아닌 게시판에서 실행됩니다. -->
<?php endif?>
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
만약, 게시판 id에 따라 수정해야할 부분이 많다면
스킨 폴더를 복사해서 수정하시는 걸 추천드립니다.
예를 들어, default 스킨을 복사하신 후
FTP로 접속해서 /wp-content/plugins/kboard/skin/ 경로에 default1 이라는 스킨으로 만들었다면,
style.css 파일에서
#kboard-default 코드를 찾아서 #kboard-default1 코드로 모두 바꿔주시고
list.php 파일에서도
역시 kboard-default 코드를 찾아서 kboard-default1 코드로 모두 바꿔주시고
document.php 파일에서도
역시 kboard-default 코드를 찾아서 kboard-default1 코드로 모두 바꿔보시겠어요?
다른 파일도 마찬가지입니다.
고맙습니다.
와우 상세한 답변 감사합니다. php 공부하면서 커스터마이징 하는 중인데 아직 갈 길이 머네욤.
kboard와 관련이 없는 질문이지만, $board 변수랑 $board->id 는 어디에 선언되어 있는건가요?
해당 부분에 대한 키워드만 살짝 알려주시면 공부해보도록 하겠습니다.
감사합니다.
KBoard 스킨 파일에서 사용 가능한 변수는
FTP로 접속해서 /wp-content/plugins/kboard/class/KBoardBuilder.class.php 파일에
builderList, builderReply, builderDocument, builderEditor 등의 메소드를 보시면
$vars 배열에 사용 가능한 변수가 포함되어 있습니다.
$vars 배열에 KBoard 클래스도 포함되어 있기 때문에
스킨 파일에서 $board 변수로 활용 가능합니다.
PHP extract 함수를 활용해서 배열의 키값을 변수로 사용할 수 있도록 설정되어 있습니다.
해당 코드는 /wp-content/plugins/kboard/class/KBoardSkin.class.php 파일에
아래의 코드에서 확인해보실 수 있습니다.
extract($vars, EXTR_SKIP);
고맙습니다.