ko ko fr ko fr ko fr en bg ko ru ko ru ko en ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko it ko ru ko ru ko ru ko ru ko ru ko pt eo ru ja ru fr ru ko ru ko en ko ru ko ru ko ru ko en ko ru nb ru ko ru ko en ko ru ko de ko ru ko ru ko de ko ru ko ru ko en es ko ru ko ru ko ru ko en en ru ko ru en en ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko fr ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ceb ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko ru ko en ko ru ko ru en ru ko ru ko ru ko ru ko ru fa ru en ru en ru de ru ko ru ko ru ko en en ko ko fi ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko fi ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko en de en it ja ko zh bg en en en ko ko ko de ceb en ceb en ko fr ko ko ko ko ko ko ko ko ko zh ko el ko ko ko ko ko ja en ko en ko en en ko it ko en ko ru ko sl ko en ko ko ko en tr en en en kn kn kn ko ko en ko de ko es ko ko en ko de ko es it de nb ko ko ko ko ko ko ko ko ko ko ko ko ko ru fr fr fr fr fr
그룹내 배너들을 몇 개 모듬으로 나누어 골고루 출력하기 - happycgi
jquery , CSS , PHP , Javascript , 무료폰트 , ASP
기존 해피cgi 템플릿태그는 배너그룹 내 배너들을 전부 다 띄우거나 랜덤으로 1개만 띄우거나 할 뿐
그룹내 배너 전체를 n개 모둠으로 나누어 군데군데 적절히 뿌리는건 불가능했습니다.
사실상 배너제목을 이용해서 일일이 수동으로 배치시켜야 하는데요.
같은 자리에 배너광고 많이 유치하셔야 할 경우 불편했을 겁니다.
이 역시 필요하신 분이 있을리 없지만 혼자 삽질한 게 아까워서 올려봅니다.
* 그룹내 배너 전체를 띄우는 스크립트.
* $groupid str 배너들의 그룹명이 들어갑니다. "맛집상단" 등
* $mod1 int 기본값 1. 그룹 내 모든 배너를 n개의 그룹으로 나누어야 할 때 그 n을 입력합니다.
* $mod2 int 기본값 1. 이 함수가 n개의 그룹으로 나뉜 그룹들 중 m번째 그룹일 때 그 m을 입력합니다.
* $wrapper_left str 각 배너의 왼쪽에 출력해야 할 html 문자열입니다.   등
* $wrapper_right str 각 배너의 오른쪽에 출력해야 할 html 문자열입니다.   등
function groupped_banners ($groupid, $mod1 = 1, $mod2 = 1, $wrapper_left = "", $wrapper_right = "") {
// 배너를 저장하는 테이블명 글로벌함수입니다. 솔루션별로 다를수있음
// 배너 SQL을 돌립니다.
$banners_sql = "SELECT * FROM $happy_banner_tb WHERE groupid = "$groupid" AND display = "Y" ORDER BY title ASC";
// iterator를 쓰기 위한 배열을 굳이 하나 새로 만들어서
// 그 배열에 while문으로 sql결과를 모아놓고
while ($each_banner = mysql_fetch_assoc($banners)) : $the_banner[] = $each_banner; endwhile;
// 배너를 n개의 그룹으로 나눕니다. 등차수열 원리가 적용되어 있습니다.
for ($i = 0; $i < count($the_banner); $i++) {
// m번째 그룹의 1항, 2항, 3항... 만을 가져옵니다.
$j = $mod1 * $i + $mod2;
// 실제 나와야 할 배너의 index를 조정합니다.
$k = $j - 1;
// 이 index에 해당하는 배너가 그 배열에 있으면
// 필요한 data를 가져와서 배너를 뿌리고 끝냅니다.
$pngClass = ( strpos($the_banner[$k]["img"],"png") )?" class="png24" ":"";
위 함수를 inc/function.php 같은 코어파일에 적당히 넣어놓으신 다음 아무 html 파일에서나 (예를 들어) 이런 식으로 쓰시면 됩니다.
", " "); ?>
", " "); ?>
", " "); ?>
이렇게 하면 실제로 보이는 화면은 이렇게 됩니다.
[커뮤니티첫화면 1번째배너][커뮤니티첫화면 4번째배너][커뮤니티첫화면 7번째배너]
댓글 작성시 입력한 비밀번호를 입력하세요.
패스워드를 입력하세요.(답글 삭제시 사용됩니다.)
패스워드를 입력하세요.(답글 삭제시 사용됩니다.)