영카트5 분류(카테고리)별 배경이미지 설정 채택완료
ca_id=10
ca_id=20
ca_id=30
ca_id=40
상품분류가 위와 같이 4개 입니다.
분류별 배경이미지를 달리 설정하고 싶습니다.
전체 배경은 default_shop.css 에서
body {margin:0;padding:0;font-size:12px;font-family:'Malgun Gothic', dotum;background-image:url('../shop/img/bg1.jpg'); background-repeat:repeat;}
설정되어 있습니다.
분류별로 배경이미지가 바뀌면 각 페이지의 개성을 잘 드러낼 수 있을 것 같아 시도해보고 있는데
어느 경로, 어느 파일에서 손을 대야할지도 사실 막막합니다.
도와주시면~ 복 받으실 거예요~^^
답변 2개
<body> 태그가 출력되는 파일인 head.sub.php 에서
ca_id 값을 넘겨받아서 class 형태로 지정하시면 됩니다.
그리고 css에서는 각 class별로 배경이미지를 다르게 설정해 두시는 거지요.
css
body.bg10{background-image:url('../shop/img/bg1.jpg');}
body.bg20{background-image:url('../shop/img/bg2.jpg');}
body.bg30{background-image:url('../shop/img/bg3.jpg');}
.... 중략
head.sub.php
<?php
$bgclass = '';
if ($ca_id = 10) $bgclass = 'bg10';
else if ($ca_id = 20) $bgclass = 'bg20';
else if ($ca_id = 30) $bgclass = 'bg30';
else if ($ca_id = 40) $bgclass = 'bg40';
... 중략
?>
<body class="<?php echo $bgclass?>">
ca_id 값이 없는 경우(상세페이지나 게시판등)에 대해서는 css 에서 기본 body{} 태그에 기본배경이미지를 설정해두시면 되겠지요.
답변에 대한 댓글 2개
= (이퀄) 하나를 빼먹었네요. 알아서 잘 적용하셨으면 되었죠..
아.. 일반적으로 쓰이는 이퀄과 달리 프로그램에서 이퀄 하나만 쓰면 "대입" 의 뜻이구요.
이퀄 두개를 써야 일반적인 의미인 "동일" 이 되요.
ex) $aa = 2; <- 2라는 숫자를 $aa 변수에 대입함.
댓글을 작성하려면 로그인이 필요합니다.
default_shop.css 에서 배경부분 없애버리고 이미지명은 bg1.jpg --> bg.jpg로 변경
분류코드와 동일한 화일명으로 배경 이미지명을 만들고 (bg10.jpg ~ bg40.jpg)
head.sub.php나 head.php에 아래처럼 넣으세요
<?
if($ca_id<50) $ca_id_img = $ca_id;
?>
<style>
body{background:url(/shop/img/bg<?=$ca_id_img?>.jpg);}
</style>
답변에 대한 댓글 2개
제가 부족한 탓인지 배경이 아예 안먹고 하얗게 나오네요;;
귀중한 시간 내주셔서 감사합니다~
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
default_shop.css 에 말씀하신 대로
body.bg10{background-image:url('../shop/img/bg1.jpg');}
body.bg20{background-image:url('../shop/img/bg2.jpg');}
body.bg30{background-image:url('../shop/img/bg3.jpg');}
body.bg40{background-image:url('../shop/img/bg4.jpg');}
붙이고
head.sub.php에 붙였는데 body.bg10만 계속 나와서
shop 폴더에 있는 shop.head.php에 붙였어요.
<?php
$bgclass = '';
if ($ca_id = 10) $bgclass = 'bg10';
else if ($ca_id = 20) $bgclass = 'bg20';
else if ($ca_id = 30) $bgclass = 'bg30';
else if ($ca_id = 40) $bgclass = 'bg40';
?>
<body class="<?php echo $bgclass?>">
말씀하신 대로 붙였는데 계속 body.bg10만 뜨고 20,30,40에 해당하는건 안나와서
혹시나 하는 마음으로 (다른 코딩을 들여다보다가..)
<?php
$bgclass = '';
if ($ca_id == 10) $bgclass = 'bg10';
else if ($ca_id == 20) $bgclass = 'bg20';
else if ($ca_id == 30) $bgclass = 'bg30';
else if ($ca_id == 40) $bgclass = 'bg40';
?>
<body class="<?php echo $bgclass?>">
이렇게 붙였더니 너무나 멋지게 작동합니다! 감사합니다!
근데, "="과 "=="의 차이가 뭔가요?