• 회원가입
  • 로그인
  • 구글아이디로 로그인

[아미나빌더] 아미나의 스킨 경로 관련해서 질문을 드려봅니다



안녕하세요! 신비님!
새해복 많이 받으시고 하시는 일 잘되시길 바랍니다!
그리고 저도 새해에 답변을 받았으면 하는 바램으로 ㅠ.ㅠ 글을 적어봅니다
제 수준은 전공자도 아니고 생업에 바빠 공부할시간도 없어서
일러스트 포토샵 부트스트랩등등 외적인 부분만 알고 있는 수준이라
php 관련되서는 낫놓고 ㄱ자는 간신히 보는 까막눈수준에 가깝습니다 ㅠ.ㅠ

우선 하고싶은건
게시판리스트에서 // 리스트를 일반 리스트형 or 갤러리 리스트형
등으로 버튼을 누르면 스킨이 변환되게 하고자 하는걸 하고싶었어요

제가 쓰고있는건..아미나 버전이구요

한별아빠님께 여쭤봤었는데..나리야는 자동지원하니 그냥 나리야를 쓰길 요청받았는데...이미 아미나로 만들고 있고..자료도 꽤 들어가있는 상태라..
고민이 들어서 포기를 했었고...건강에 문제가 있으시길래..
어찌 어찌 여쭤보기가 어려운 부분도 있어서 포기했다가..

우연히 sir 에서 다음과 같은 글을 보게되었어요
https://sir.kr/g5_tip/8261

그래서 이대로 따로 해봤더니..아니 왠걸...이게 되는겁니다.
물론 아미나를 쓰고있지만 저대로 하니..그누보드의 게시판으로 교체가 되긴하지만..일딴은 성공적으로...되고있는...

근데 문제는..경로가 그누보드 경로라..그누보드 오리지널 게시판이 나오고 있어요...

저 주소를 보시면 알겠지만
1. extend 폴더에 board.php 파일을 새로 만든다
2. list.skin.php에서 경로추가한 버튼 추가

이런식으로 되어있는데..

extend에 만들어진 board.php 내용중

<?php
$skin_href = "./board.php?bo_table=".$bo_table;
if($skin_path){
 set_cookie("skin", $skin_path, 86400);
    $board_skin_path = get_skin_path('board', $skin_path);
 $board_skin_url = get_skin_url('board', $skin_path);
}else{
 $skin_path = get_cookie("skin");
    if($skin_path){
        $board_skin_path = get_skin_path('board', $skin_path);
        $board_skin_url = get_skin_url('board', $skin_path);
 }
}
?>

위의 부분에서 경로를 아미나 경로로 잡지를 못하겠어요..모바일까지 따로 생각을 해줘서 써야하는부분인지도 잘 모르겠구요..
common을 뒤적해보니..
$board_skin_path = get_skin_path('board', $board['bo_skin']);

$board['bo_skin'])으로 잡아야하는거 같은데..그냥 그정도까지만 예상이 되고..

아미나에 관련된 스킨폴더를 쓰려면
board.php는 어떤식으로 교정하고
list.skin.php에서는 어떤식으로 불러와야할지.. 몰라서 질문을 남깁니다..

혹시 굉장히 난해한거라면..어쩔수 없겠지만..
자애로우신 신비님께 혹시나 하고 여쭤봅니다!

홈짱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2023-01-29 (일) 20:58 1년전
1.
get_skin_path(), get_skin_url() 함수 정의를 보니까, /theme 폴더 기준으로 로직이 되어있네요.
https://github.com/gnuboard/gnuboard5/blob/26b22ac9caa857d11488c5c8a90a0ce4b8fe27c9/lib/common.lib.php#L3545

2.
아미나는 /thema 폴더 안 테마를 사용하고, 테마 밖의 게시판 스킨만을 사용하니까 위 함수들을 복사해 get_skin_path2(), get_skin_url2() 함수 생성 후, 이 함수 안 코드들을 /theme 폴더 사용 않는 코드들로 재정의하는 작업을 하셔야 할 것으로 생각됩니다.

3.
잘 될진 모르겠지만, 대략 아래처럼 하시면 될 듯.

<?php
// 스킨 path
function get_skin_path2($dir, $skin)
{
    global $config;

    if(G5_IS_MOBILE)
        $skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/'.$dir.'/'.$skin;
    else
        $skin_path = G5_SKIN_PATH.'/'.$dir.'/'.$skin;

    return $skin_path;
}

// 스킨 url
function get_skin_url2($dir, $skin)
{
    $skin_path = get_skin_path2($dir, $skin);

    return str_replace(G5_PATH, G5_URL, $skin_path);
}

$skin_href = "./board.php?bo_table=".$bo_table;
if($skin_path){
    set_cookie("skin", $skin_path, 86400);
    $board_skin_path = get_skin_path2('board', $skin_path);
    $board_skin_url = get_skin_url2('board', $skin_path);
}else{
    $skin_path = get_cookie("skin");
    if($skin_path){
        $board_skin_path = get_skin_path2('board', $skin_path);
        $board_skin_url = get_skin_url2('board', $skin_path);
    }
}
주소
     
     
no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2023-01-29 (일) 21:35 1년전
[@홈짱] 아이고 신비님 감사드립니다 !

그런데 잘안되네요 ㅠ.ㅠ 제가 초보라그런지..말씀하신뜻은 간신히 이해했는데..적용해보니 게시판이 쏙 하고 사라져버렸어요.

그래도 적어주신거 보고..다른자료 모아서 비교해보면서..알아가보고자 합니다! 감사드립니다!
주소
          
          
홈짱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2023-01-29 (일) 22:10 1년전
[@시니] 1.
위 코드는 게시판스킨명 단위로 쿠키 구운 시스템이라, 아미나 전용 게시판스킨에서는 사용할 수 없는 코드입니다. 아미나는 list.skin.php 상단에서 $boset['list_skin'] 변수에 대해서 별도로 쿠키 구우셔야 합니다. (자세한 건 저도 더듬더듬 찾아보며 작업해야 하는 수준이라  자세한 안내는 힘들 듯 합니다.)

2.
아래 코드 바로 위에서 쿠키 구우시면 될 듯.
/skin/board/Basic--Board/list.skin.php 약 18라인

$list_skin_url = $board_skin_url.'/list/'.$boset['list_skin'];
$list_skin_path = $board_skin_path.'/list/'.$boset['list_skin'];
주소
               
               
no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2023-01-29 (일) 22:46 1년전
[@홈짱] 앗! 감사합니다

고사이에...제 수준에 맞는..
좀 간단하지는 않지만 다른방안을 찾아서..
구글링하고 예전 g4기록등등을 찾아찾아..
아미나용으로..(야매로)..
어느정도 하고는 있어요..한번 봐주셨으면 감사드리겠습니다

common.php 파일에다가
if ($list_type) { // 신규리스트
    $qstr .= '&list_type=$list_type';
}

타입을 추가한뒤...

스킨게시판에서 list.skin.php를 복사해서

list1.skin.php 타입과
list2.skin.php 타입으로 나눈뒤

list.skin.php의 내용은 지우고
타입 인크루드만
if($list_type){
include_once("$board_skin_path/list2.skin.php");
}else{
include_once("$board_skin_path/list1.skin.php");
}
 한뒤
list2.skin.php 에서 스킨계열 경로만 다른 스킨으로 설정하고

주소를
보드명뒤에 &list_type=2 로 구분해서..
1스킨 2스킨으로 나눠보려고 해요

일딴 리스트에선 되고있고..
뷰페이지를 봤을때...
하단에 전체목록보이기를 수정해야할거 같아서..
이건 뷰를 건드려야하나..하고 요래조래..왔다갔다하고있답니다.

이런식도 괜찮을까 싶기도하구요...
홈짱에 기록해도 될까 싶어서 ( >.<;; ) 설레발중..

그거 해놓고 다시..신비님 말씀대로 또 연구해보려구요!
대단히 감사합니다!
주소
                    
                    
홈짱 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2023-01-29 (일) 23:08 1년전
[@시니] 이 작업매뉴얼은 유료회원 전용이라, 대략적인 작업 방향만 알려드리는 점 양해바랍니다.

(1) 쿠키 굽기 전용 파일을 별도로 루트에 생성
(2) 해당 파일주소로 GET방식으로 스킨타입 넘김
(3) 쿠키굽기전용파일에서 구운 후, 리퍼러 체크해 다시 원위치로 이동
(4) 구운 쿠키값 변수로 바로 위 알려드린 코드에서 $boset['list_skin'] 값 수정
주소
                         
                         
no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2023-01-29 (일) 23:20 1년전
[@홈짱] 감사드려요! 체크체크체크!! 잊어먹지않게!
주소
분류 제목 글쓴이
그누보드5 그누보드 게시판 상하단 관련 1 no_profile 성영 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
그누보드5 차단한 회원을 다시 풀어주는 방법에 대한 문의… 1 no_profile muni 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
기타 코딩 첨인데 뭐부터 봐야하나요 1 no_profile 케르 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
기타 홈짱님 죄송하지만 이런 질문도 가능한지요.. 8 no_profile young 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
그누보드5 댓글에서 여분필드를 수정시 유지하는 방법에 대… 5 no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
기타 url줄이기 깃허브 소스 설치 하기 1 no_profile 니오 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
홈짱닷컴 홈짱은 신고시스템을 따로 만드신건가요? 2 no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
나리야빌더 동영상 없애는 방법 문의드려봐요 4 no_profile 익명씨 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
아미나빌더 아미나의 스킨 경로 관련해서 질문을 드려봅니다 6 no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
기타 안녕하세요. 1 no_profile 레오레오 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
아미나빌더 혹시나 하고 아미나기능중 쪽지 관련되어서 질문… 2 no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
홈짱닷컴 아 홈짱은 자체솔루션인가봐요 4 no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
아미나빌더 아미나에서 jwplayer를 제거하려는데 어디… 2 no_profile 시니 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
홈짱닷컴 안녕하세요. 질문 있습니다. 1 no_profile 제리고고 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
PHP 다크모드 알아내기 1 no_profile 하늘소 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
CSS 배경색 알아내기 1 no_profile 하늘소 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물
질문 날짜부분 링크 걸고 싶은데 도와주세요!! 1 asd 메일보내기 이름으로 검색
홈짱닷컴 페이지 스크롤 할 때 광고창 올라오는 것 1 jm joh 이름으로 검색
1/3
목록
찾아주셔서 감사합니다. Since 2012