제7장: [UCHome 2차 개발] 템플릿 구문 설명
if(!file_exists($objfile)){
include_once(S_ROOT.’./source/function_template.php’);
parse_template($tpl);
}
다음으로 수정:
//if(!file_exists($objfile)) {
include_once(S_ROOT.’./source/function_template.php’);
parse_template($tpl);
//}
이렇게 하면 템플릿을 수정한 후에 백그라운드에 가서 캐시를 업데이트할 필요가 없다. 캐시 파일이 있든 없든 템플릿 파일을 포함하고 새로운 캐시 파일을 생성한다는 뜻이다.
UCHome을 2차 개발할 때 템플릿의 문법을 이해하는 것은 필수적이다. 다음은 그 문법에 대해 하나하나 소개한다.
1. 다른 템플릿 호출
<!--{template header}-->
설명: 템플릿 헤더를 사용합니다.htm로 이 코드를 바꿉니다
2. 프로필 사진 호출
템플릿 코드:
<!--{avatar($value[uid],small)}-->
해결된 코드:
<?php echo avatar($value[uid],small); ?>
3. 광고 호출
템플릿 코드:
<!--{ad/header}-->
해결된 코드:
<?php adshow('header'); ?>
4. 호출 시간
템플릿 코드:
<!--{date('Y-m-d H:i', $value[dateline], 1)}-->
해결된 코드:
<?php echo sgmdate('Y-m-d H:i', $value[dateline], 1); ?>
5, PHP 코드 내보내기
템플릿 코드:
<!--{eval echo formhash();}-->
해결된 코드:
<?php echo formhash(); ?>
설명: 사이에는 실행해야 하는 PHP 코드가 있습니다. 문장이 완전해야 합니다.
6. 변수 호출
템플릿 코드:
<a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a>
해결된 코드:
<ahref="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a>
설명: {와} 사이에는 출력이 필요한 변수가 있습니다.
7. 출력 논리 선택
if 라벨과else 라벨은 주로 판단 라벨입니다. 형식은 다음과 같습니다.
<!—{if }–>
//Your code here…
<!—{else}–>
//Your code here…
<!—{/if}–>
이상의 조건은 변수 및 합법적인 PHP 함수 및 사용자 정의 함수일 수 있습니다.
템플릿 코드:
<!--{if empty($mtag['ismember']) && $mtag['joinperm'] <2}-->
<li><ahref="cp.php?ac=mtag&op=join&tagid=$mtag[tagid]"id="a_mtag_join_$mtag[tagid]" onclick="ajaxmenu(event, this.id,99999)"> </a></li>
<!--{elseif $mtag['allowpost']}-->
<li><a href="cp.php?ac=thread&tagid=$mtag[tagid]"> </a></li>
<!--{/if}-->
해결된 코드:
<?php if(empty($mtag['ismember']) && $mtag['joinperm'] <2) { ?>
<li><ahref="cp.php?ac=mtag&op=join&tagid=<?=$mtag['tagid']?>"id="a_mtag_join_<?=$mtag['tagid']?>"onclick="ajaxmenu(event, this.id,99999)"> </a></li>
<?php } elseif($mtag['allowpost']) { ?>
<li><ahref="cp.php?ac=thread&tagid=<?=$mtag['tagid']?>"> </a></li>
<?php } ?>
설명: 물론 여기에elseif가 없을 수 있습니다. 그 문법은 VB와 약간 유사하고 엔딩 문자가 필요합니다.
8. 순환 출력 논리
템플릿 코드 1:
<!--{loop $list $key $value}-->
<tr <!--{if $key%2==1}--><!--{/if}-->>
<td>
<!--{if$value[displayorder]}--> [ ] <!--{/if}-->
<!--{if$value[digest]}--> [ ] <!--{/if}-->
<ahref="space.php?uid=$value[uid]&do=thread&id=$value[tid]">$value[subject]</a></td>
<td><a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a><br>$value[replynum]/$value[viewnum]</td>
<td><a href="space.php?uid=$value[lastauthorid]"title="{$_SN[$value[lastauthorid]]}">{$_SN[$value[lastauthorid]]}</a><br><!--{date('m-dH:i',$value[lastpost],1)}--></td>
</tr>
<!--{/loop}-->
해결된 코드 1:
<?php if(is_array($list)) { foreach($list as $key => $value) {?>
<tr <?php if($key%2==1) { ?><?php } ?>>
<td>
<?phpif($value['displayorder']) { ?> [ ] <?php } ?>
<?php if($value['digest']){ ?> [ ] <?php } ?>
<ahref="space.php?uid=<?=$value['uid']?>&do=thread&id=<?=$value['tid']?>"><?=$value['subject']?></a></td>
<td><ahref="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a><br><?=$value['replynum']?>/<?=$value['viewnum']?></td>
<td><a href="space.php?uid=<?=$value['lastauthorid']?>"title="<?=$_SN[$value['lastauthorid']]?>"><?=$_SN[$value['lastauthorid']]?></a><br><?phpecho sgmdate('m-d H:i',$value[lastpost],1); ?></td>
</tr>
<?php } } ?>
설명:loop 뒤에 세 개의 매개 변수가 있을 때 첫 번째 매개 변수는 순환에 사용되는 수조이고, 두 번째와 세 번째 매개 변수는 각각 수조의 모든 순환 항목에 대한 키 이름과 값입니다.
템플릿 코드 2:
<!--{loop $memberlist $value}-->
<li>
<div><a href="space.php?uid=$value[uid]"><imgsrc="<!--{avatar($value[uid],small)}-->"alt="{$_SN[$value[uid]]}" /></a></div>
<p><a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a></p></li>
<!--{/loop}-->
해결된 코드 2:
<?phpif(is_array($memberlist)) { foreach($memberlist as $value) { ?>
<li>
<div><ahref="space.php?uid=<?=$value['uid']?>"><imgsrc="<?php echo avatar($value[uid],small); ?>" alt="<?=$_SN[$value['uid']]?>"/></a></div>
<p><ahref="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a></p></li>
<?php } } ?>
설명:loop 뒤에 두 개의 매개 변수가 있을 때 첫 번째 매개 변수는 순환하는 수조이고, 두 번째 매개 변수는 수조의 모든 순환 시항의 값입니다.
참고: 위의 모든 인스턴스는 UCHome 1.5 기본 템플릿에서 발췌됩니다.템플릿 코드와 해석된 코드를 비교해 보면 문법의 효과를 알 수 있기 때문에 문장에 설명이 많지 않다.개인 자습 결과, 잘못된 점이 있으면 벽돌을 치는 것을 환영합니다.
모든 장 다운로드:http://download.csdn.net/source/3579636기사 발췌문:http://wenku.baidu.com/view/ffd8a5c14028915f804dc2e0.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.