[활용팁] 한자리에서 랜덤하게 위젯하나만 보여주기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 333 조회
-
목록
본문
솔직히 아무것도 아니긴 한데
때에 따라서 필요로 하시는분들도 계시고..쓰임새에 따라서 다양하게 쓰일수도 있어서
혹시나 몰라서 정리해서 적어놓고 갑니다
내용의 요지는 새로고침이나 접속할때마다
하나의 자리를 두고....여러개 미리 입력해놓은 위젯이 내용이 랜덤하게 하나씩만 보이는것인데요
가령 접속했을때 대문에 아래와 같은 위젯이 달랑 하나가 있다고 한다면

재 접속하거나 새로고침했을때는 위 내용이 안나오고
아래와 같은 다른 위젯으로 바뀌어 있다는것이겠죠

위젯이나 혹은 내가 만든 어떤 내용들도 같은 자리에 랜덤하게 노출된다는것이 될듯 합니다
이걸 응용한다면 네이버 접속하때마다 광고가 달라지는데
그런데 사실 이걸로 광고를 굳이 할 필요가 없어요
왜냐면 이미 한별아빠님께서 이미 고려짝에 턱하니 위젯으로다가 탁 만들어 놓으셨더라구요
https://amina.co.kr/bbs/board.php?bo_table=skin_amina&wr_id=1354&sca=위젯&page=1
광고 랜덤으로 뿌려주는건 이미 아미나에게 여러가지 위젯들이 존재하다보니.......
광고때문에 굳이 제가 쓴느 방법을 할 필요는 없어요~~~
제가 추천하는건 어떤 때인가...
사진갤러리를 많이 쓰시는분들이 있어요...
그래서 메인에....
무슨 사진 갤러리
무슨 사진 갤러리
무슨 사진 갤러리
솔직히 디자인이 까다롭다보니 사진갤러리로 도배하시는분들도 계시는데..
많아봐야 딱히 눈길이 가지는 않는편도 있고
nav 탭으로 하지 않으실분들은 랜덤으로 보여주는것도 나쁘지는 않기에..
다양하니 쓰기 나름이겠죠...
쇼핑몰의 경우는
이렇게 히트상품관련 위젯을 먼저 박아놨는데..
새로고침하거나 재접속할때
그 자리에 할인상품이 먼저 나올수도 있고...
방법은 단순해요
아미나의 메인을 기준으로 설명을 적어놓고 가면
먼저 자기가 랜덤하게 보여줄 위젯의 후보를 마음에 정해둬요~~
메인 상단에
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 위젯 대표아이디 설정
$wid = 'CMB';
// 게시판 제목 폰트 설정
$font = 'font-16 en';
// 게시판 제목 하단라인컬러 설정 - red, blue, green, orangered, black, orange, yellow, navy, violet, deepblue, crimson..
$line = 'navy';
// 사이드 위치 설정 - left, right
$side = ($at_set['side']) ? 'left' : 'right';
?>
php 코드가 있어요...
여기에 랜덤함수를 쓰겠다고 정의를 먼저 해두는건데
3개를 쓰겠다고 가정했을때는
$display = rand(1, 3);
요로코롬 위 코드를 넣어두어요~
그러면 아래처럼 형태가 되겠죠~~
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 위젯 대표아이디 설정
$wid = 'CMB';
// 게시판 제목 폰트 설정
$font = 'font-16 en';
// 게시판 제목 하단라인컬러 설정 - red, blue, green, orangered, black, orange, yellow, navy, violet, deepblue, crimson..
$line = 'navy';
// 사이드 위치 설정 - left, right
$side = ($at_set['side']) ? 'left' : 'right';
// 랜덤으로 쓰려고 넣은것
$display = rand(1, 3);
?>
어느 페이지든 php코드 안에 잘 넣어두면 됩니다요
그리고 이제 자기가 위젯 넣던 위치에다가
<?php if ($display == 1) { ?>
내용1
<?php } else if ($display == 2) { ?>
내용2
<?php } else { ?>
내용3
<?php } ?>
위 내용을 넣어서 쓰면 되는건데..
만약에 4개를 하겠다
$display = rand(1, 4); 이렇게 넣어주고
<?php if ($display == 1) { ?>
내용1
<?php } else if ($display == 2) { ?>
내용2
<?php } else if ($display == 3) { ?>
내용3
<?php } else { ?>
내용4
<?php } ?>
이렇게 하믄 되겠죠~~
내용에는 보통 뭘 어케 넣어야할까? 하면 간단하게
위젯을 넣으면 되여~
기본적으로 위젯이 아래형태로 되어있는데요~~
<?php echo apms_widget('basic-post', $wid.'내꺼1', 'icon= comment=1 date=1 strong=1,2'); ?>
내가
연예인사진갤러리
유머사진갤러리
성인사진갤러리
요 3개의 사진갤러리 위젯을 한자리에 접속할때마다 다르게 보여주고싶다 하면
<?php if ($display == 1) { ?>
<?php echo apms_widget('basic-post', $wid.'연예인사진(임의로지은거)', 'icon= comment=1 date=1 strong=1,2'); ?>
<?php } else if ($display == 2) { ?>
<?php echo apms_widget('basic-post', $wid.'유머사진(임의로지은거)', 'icon= comment=1 date=1 strong=1,2'); ?>
<?php } else { ?>
<?php echo apms_widget('basic-post', $wid.'성인사진(임의로지은거)', 'icon= comment=1 date=1 strong=1,2'); ?>
<?php } ?>
이런식으로...
좀 꾸며주고 싶다 테두리를 만들고 싶다 등등 생각이 든다면
class를 하나 정의해두고
<?php echo apms_widget('basic-post', $wid.'내꺼3', 'icon= comment=1 date=1 strong=1,2'); ?>
이런식으로 써서 넣으면 되겠구요~
결국 display == 2 display == 1 display == 3 등등을
$display = rand(1, 3); 랜덤하게 찍겠다는 소리겠죠...
만약에 나는 한개만 보여주는게 아니라
메뉴탭으로다가 모든 위젯을 다 나열한다음에...
랜덤하게 하나의 탭씩 보여주고 싶다면
https://amina.co.kr/bbs/board.php?bo_table=tip&wr_id=1669&sfl=wr_subject&stx=랜덤&sop=and
요글을 참조하시믄 되요
근데 뭐 꼭 위젯에만 제한된것도 아니고..
동영상을 랜덤으로 뿌려주고싶거나
음악을 랜덤으로 재생하고 싶거나
공지나 글귀를 랜덤하게 바꿔주고싶거나..
다 응용하기 나름이니깐요..

제가 초보자라서..초보적인 내용을 썻어요..
조금이라도 할줄 아시는분들은 코파면서 하는 내용들이니깐요..
관련자료
-
링크