hTemplate – 7.9.TR 용법

TR 용법은 1.2.0 버전부터 사용할 수 있으나 확정된 기능이 아니라 여러분의 의견을 수렴할 목적으로 미리 공개되는 제안서(proposal)입니다. 따라서 향후 업그레이드할 때 아래서 설명한 내용과 다르게 동작할 수 있으니 주의하시기 바랍니다.

TR 용법

TR(Table Record) 용법은 위즈윅 HTML 에디터를 가지고 템플릿 문서를 편집할 때 유용하게 사용될 수 있을 것입니다. 아래와 같이 테이블의 각 행을 반복적으로 처리하는 경우에 블록변수 시작 및 종료태그가 <table> 태그와 <tr> 태그 사이에 위치하게 됩니다.

이 문을 위즈윅 HTML 에디터로 보면 블록변수가 보이지 않으며, 따라서 HTML 문서를 수정할 때 매우 조심하여 작업하지 않으면 블록변수 태그가 손실될 우려가 높습니다. 블록변수를 보이게 하기 위하여 주석문 형식 대신에 {@DSP_BLOCK_ARTICLES} … {/} 형식을 사용하게 되면 위즈윅 HTML 에디터가 소스를 변형하는 경우도 발생하며, 또 HTML 문서 규약에 맞지도 않기 때문에 제대로 보이지 않습니다.

만약 블록변수 태그가 위즈윅 HTML 에디터에 나타난다면 HTML 스크립트 편집 작업이 훨씬 수월할 것입니다. 오래전부터 이 문제를 어떻게 개선할 수 없을까 고민하다가 일단 proposal로 그 구문형식을 제안합니다.

위에서 예를 든 블록변수를 새로 제안된 TR 블록변수로 작성한다면 아래와 같을 것입니다.

위 문자에서와 같이 변수옵션 tr을 1로 지정하게 되면 템플릿 문서를 컴파일할 때 아래와 같이 지정된 tr 옵션에 의해 변수의 위치가 <tr>…</tr> 태그 밖으로 이동되어 컴파일됩니다.

이와같이 TR 태그의 위치를 변수 옵션 tr에 의해 조정할 수 있다는 의미에서 ‘TR 용법’이라고 이름지어 봤습니다.

3겹으로 중첩된 블록변수에서의 TR 용법

TR 용법을 응용하여 좀 더 복잡한 템플릿 문서를 작성하여 보겠습니다. 3겹으로 중첩된 블록변수로 작성된 문서입니다.

위의 템플릿 문서를 처리하기 위한 PHP 문장은 아래와 같습니다.

위의 PHP 문장을 실행하면 브라우저에는 아래와 같이 나타날 것입니다.

SAMPLE_a0SAMPLE_a1SAMPLE_a2

SAMPLE_b0SAMPLE_b1SAMPLE_b2

SAMPLE_c0SAMPLE_c1SAMPLE_c2

생성된 HTML 스크립트 소스는 아래와 같습니다.

참고로 템플릿 문서 block.htm을 위즈윅 HTLM 에디터에서 본다면 아래와 같이 나타날 것입니다. 이제는 에디터에서 블록변수의 위치를 확인하면서 작업할 수 있을 것입니다.

{@a;tr=1}{$sample_a}

{@b;tr=1}{$sample_b}

{@c;tr=1}{$sample_c}{/}

{/}

{/}

같은 템플릿 문서를 가지고 PHP 문장만 변형시켜 TR 태그를 반복시켜 보겠습니다. 수정된 PHP 문장은 아래와 같습니다.

위의 PHP 문장을 실행하면 브라우저에는 아래와 같이 나타날 것입니다.

SAMPLE_a0

SAMPLE_b0

SAMPLE_c0
SAMPLE_c1
SAMPLE_b1

SAMPLE_c0
SAMPLE_c1
SAMPLE_a1

SAMPLE_b0

SAMPLE_c0
SAMPLE_c1
SAMPLE_b1

SAMPLE_c0
SAMPLE_c1

각 변수에서의 TR 용법

TR 용법은 블록변수뿐만 아니라 단순변수, 조건변수, 파일변수에서도 사용할 수 있습니다.

  • 단순변수일 때 {&변수명;tr=1}변수내용{/}
  • 조건변수일 때 {?변수명;tr=1}경우의수{/}
  • 블록변수일 때 {@변수명;tr=1}블록내용{/}
  • 파일변수일 때 {#변수명;tr=1}파일명{/}

그러나 각 변수마다 TR기능이 동작하는 방식에 약간의 차이가 존재합니다.

답글 남기기