묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
php 소스를 줄일 수 있는 방법을 가르쳐 주시면 감사하겠습니다^^!
2005.04.29 18:23
아래의 소스는, 제로보드의 게시판 아이디별로 테이블, 셀 등에 원하는 그림이나 색깔을 지정하는 내용입니다.
영진님이 알려주신 내용을 토대로 작성하였습니다(영진님께 다시 한 번 더 감사드립니다^^!).
소스는 [저기 아래]부분입니다.
소스를 보시면 아시겠지만, 동일한 내용이 중복되는 것이 있습니다. 즉, 동일한 이미지, 동일한 색상이 적용되는 게시판의 경우에도 각각의 이미지와 색깔에 해당하는 부분입니다.
이 경우, 게시판의 수가 증가할 경우 동일한 내용이 반복되면서 소스가 길어지는 문제가 생깁니다.
여기에서, <? if($id=="profile") 이 부분을
<? if($id=="profile, p_paper, 다른 게시판 아이디") 와 같은 형식으로, 복수의 게시판을 한꺼번에 지정할 수 있는 방법에 대해 가르쳐 주시면 감사하겠습니다.
그리고, $bod_img="2005img/profile.gif"; 이 경우에는 게시판 아이디와 그림 파일의 이름이 같으므로,
$bod_img="2005img/<?=$id?>.gif"; 와 같은 형식으로 만들 수는 없을까요?
초보자가 드리는 질문이라 이해가 되셨는지 모르겠습니다. 많은 분들의 가르침을 기다립니다.
/////////////[저기 아래]/////////////////////
<? if($id=="profile")
$face_img="2005img/gray/face01.gif";
$sec_img="2005img/gray/sec01.gif";
$bod_id="2005img/gray/bod_id.gif";
$ctg_img="2005img/gray/ctg_img.gif";
$bod_img="2005img/profile.gif";
$dot_01="2005img/gray/graydot1.gif";
$dot_02="2005img/gray/graydot2.gif";
$dot_03="2005img/gray/graydot3.gif";
$dot_04="2005img/gray/graydot4.gif";
$menu_col="#D70000";
$frame_col="#E2E2E2";
$bod_col="#CCCCCC";
else if($id=="p_paper")
$face_img="2005img/gray/face01.gif";
$sec_img="2005img/gray/sec01.gif";
$bod_id="2005img/gray/bod_id.gif";
$ctg_img="2005img/gray/ctg_img.gif";
$bod_img="2005img/p_paper.gif";
$dot_01="2005img/gray/graydot1.gif";
$dot_02="2005img/gray/graydot2.gif";
$dot_03="2005img/gray/graydot3.gif";
$dot_04="2005img/gray/graydot4.gif";
$menu_col="#D70000";
$frame_col="#E2E2E2";
$bod_col="#CCCCCC";
else
$face_img="2005img/blue/face01.gif";
$sec_img="2005img/blue/sec01.gif";
$bod_id="2005img/blue/bod_id.gif";
$ctg_img="2005img/blue/ctg_img.gif";
$bod_img="2005img/p_paper.gif";
$dot_01="2005img/blue/graydot1.gif";
$dot_02="2005img/blue/graydot2.gif";
$dot_03="2005img/blue/graydot3.gif";
$dot_04="2005img/blue/graydot4.gif";
$menu_col="#FFFFFF";
$frame_col="#FFFFFF";
$bod_col="#FFFFFF";
?>
영진님이 알려주신 내용을 토대로 작성하였습니다(영진님께 다시 한 번 더 감사드립니다^^!).
소스는 [저기 아래]부분입니다.
소스를 보시면 아시겠지만, 동일한 내용이 중복되는 것이 있습니다. 즉, 동일한 이미지, 동일한 색상이 적용되는 게시판의 경우에도 각각의 이미지와 색깔에 해당하는 부분입니다.
이 경우, 게시판의 수가 증가할 경우 동일한 내용이 반복되면서 소스가 길어지는 문제가 생깁니다.
여기에서, <? if($id=="profile") 이 부분을
<? if($id=="profile, p_paper, 다른 게시판 아이디") 와 같은 형식으로, 복수의 게시판을 한꺼번에 지정할 수 있는 방법에 대해 가르쳐 주시면 감사하겠습니다.
그리고, $bod_img="2005img/profile.gif"; 이 경우에는 게시판 아이디와 그림 파일의 이름이 같으므로,
$bod_img="2005img/<?=$id?>.gif"; 와 같은 형식으로 만들 수는 없을까요?
초보자가 드리는 질문이라 이해가 되셨는지 모르겠습니다. 많은 분들의 가르침을 기다립니다.
/////////////[저기 아래]/////////////////////
<? if($id=="profile")
$face_img="2005img/gray/face01.gif";
$sec_img="2005img/gray/sec01.gif";
$bod_id="2005img/gray/bod_id.gif";
$ctg_img="2005img/gray/ctg_img.gif";
$bod_img="2005img/profile.gif";
$dot_01="2005img/gray/graydot1.gif";
$dot_02="2005img/gray/graydot2.gif";
$dot_03="2005img/gray/graydot3.gif";
$dot_04="2005img/gray/graydot4.gif";
$menu_col="#D70000";
$frame_col="#E2E2E2";
$bod_col="#CCCCCC";
else if($id=="p_paper")
$face_img="2005img/gray/face01.gif";
$sec_img="2005img/gray/sec01.gif";
$bod_id="2005img/gray/bod_id.gif";
$ctg_img="2005img/gray/ctg_img.gif";
$bod_img="2005img/p_paper.gif";
$dot_01="2005img/gray/graydot1.gif";
$dot_02="2005img/gray/graydot2.gif";
$dot_03="2005img/gray/graydot3.gif";
$dot_04="2005img/gray/graydot4.gif";
$menu_col="#D70000";
$frame_col="#E2E2E2";
$bod_col="#CCCCCC";
else
$face_img="2005img/blue/face01.gif";
$sec_img="2005img/blue/sec01.gif";
$bod_id="2005img/blue/bod_id.gif";
$ctg_img="2005img/blue/ctg_img.gif";
$bod_img="2005img/p_paper.gif";
$dot_01="2005img/blue/graydot1.gif";
$dot_02="2005img/blue/graydot2.gif";
$dot_03="2005img/blue/graydot3.gif";
$dot_04="2005img/blue/graydot4.gif";
$menu_col="#FFFFFF";
$frame_col="#FFFFFF";
$bod_col="#FFFFFF";
?>
댓글 4
-
헐랭이
2005.04.29 19:02
-
FIL
2005.04.30 14:23
if($id == "profile" || $id == "p_paper")
$icon_color = "gray";
else
$icon_color = "blue";
$face_img="2005img/$icon_color/face01.gif";
$sec_img="2005img/$icon_color/sec01.gif";
$bod_id="2005img/$icon_color/bod_id.gif";
$ctg_img="2005img/$icon_color/ctg_img.gif";
$bod_img="2005img/profile.gif";
$dot_01="2005img/$icon_color/graydot1.gif";
$dot_02="2005img/$icon_color/graydot2.gif";
$dot_03="2005img/$icon_color/graydot3.gif";
$dot_04="2005img/$icon_color/graydot4.gif";
$menu_col="#D70000";
$frame_col="#E2E2E2";
$bod_col="#CCCCCC";
이정도면...? -
woosh
2005.04.30 14:57
헐랭이님, FIL님 감사드립니다.
아래처럼 만들었더니 잘 안되는군요....뭐가 잘못되었는지...한 번 더 봐 주시면 감사하겠습니다.
<?
if(($id=="aaa")||($id=="bbb")||($id=="ccc"))
$sec_color="gray"
$menu_col="#D70000";
$frame_col="#E2E2E2";
$bod_col="#CCCCCC";
elseif(($id=="ddd")||($id=="eee")||($id=="fff"))
$sec_color="green"
$menu_col="#000000";
$frame_col="#00CC00";
$bod_col="#C8C8C8";
elseif(($id=="ggg")||($id=="hhh")||($id=="xxx"))
$sec_color="red"
$menu_col="#D70000";
$frame_col="#D70000";
$bod_col="#FF0000";
else
$sec_color="blue"
$menu_col="#D70000";
$frame_col="#0066FF";
$bod_col="#3399FF";
$face_img="2005img/".$id."_01.gif";
$sec_img="2005img/".$sec_color."/sec01.gif";
$bg_left="2005img/".$sec_color."/bg_left.gif";
$bod_id="2005img/".$sec_color."/bod_id.gif";
$ctg_img="2005img/".$sec_color."/ctg_img.gif";
$bod_img="2005img/".$id.".gif";
$dot_01="2005img/".$sec_color."/".$sec_color."dot1.gif";
$dot_02="2005img/".$sec_color."/".$sec_color."dot2.gif";
$dot_03="2005img/".$sec_color."/".$sec_color."dot3.gif";
$dot_04="2005img/".$sec_color."/".$sec_color."dot4.gif";
?> -
헐랭이
2005.04.30 22:37
게시판구분에 괄호를 넣지말고 하세요. 아래처럼 해주세요.
if ($id=="aaa" || $id=="bbb" || $id=="ccc" )
<? if ($id=="profile" || $id=="p_paper")