blogger
blogger - b:with 태그
with 태그는 자식 변수 별칭 태그입니다. 중첩을 허용합니다. 형식은 다음과 같습니다.
value 에는 변수 별칭 값이 되는 문자열이나 배열 또는 객체가 올 수 있으며, var 에는 변수 별칭 이름이 됩니다.
loop 태그를 이용해 배열인 값을 별칭으로 출력하는 방법입니다.
이번에는 객체로 이뤄진 값을 별칭으로 출력하는 방법입니다.
위 코드에서 주의할 점은 key 와 value 사이에는 공백이 있어야 하며 value 에는 따옴표로 감싸주어야 합니다. 이를테면 배열은 [ … ] 이지만 객체는 { … } 입니다. 그리고 key 와 value 는 {key: “value”} 형식이어야 합니다.
좀 더 복잡한 코드를 만들어 볼까요? 3개가 중첩된 코드에 객체가 혼합된 코드입니다.
[객체]의 별칭에는 [팀1], [팀2], [팀3]이며 [팀1]과 [팀2]의 별칭에는 각각 [OBJ1] 과 [OBJ2] 입니다. 그러므로 점(.)을 구분해서 역추적해보면 어떤 값인지 알 수 있습니다. 이와 같이 with 태그를 이용하면 복잡한 표현식을 만들 수 있습니다.
다음은 이미지 크기 조정하는 코드입니다. 삼항 연산자를 혼합해 사용한 코드입니다.
<b:with
value='별칭 값'
var='변수 별칭 이름'>
</b:with>
value 에는 변수 별칭 값이 되는 문자열이나 배열 또는 객체가 올 수 있으며, var 에는 변수 별칭 이름이 됩니다.
<b:with value='"하보니 PHP"' var='your'>
<data:your/>
</b:with>
<!--//
결과:
하보니 PHP
//-->
loop 태그를 이용해 배열인 값을 별칭으로 출력하는 방법입니다.
<b:with value='["하보니", "PHP"]' var='your'>
<b:loop values='data:your' var='loop'>
<data:loop/><br/>
</b:loop>
</b:with>
<!--//
결과:
하보니<br/>
PHP
//-->
이번에는 객체로 이뤄진 값을 별칭으로 출력하는 방법입니다.
<b:with value='{이름: "하보니",언어: "PHP"}' var='객체'>
<data:객체.이름/> - <data:객체.언어/>
</b:with>
<!--//
결과:
하보니 - PHP
//-->
위 코드에서 주의할 점은 key 와 value 사이에는 공백이 있어야 하며 value 에는 따옴표로 감싸주어야 합니다. 이를테면 배열은 [ … ] 이지만 객체는 { … } 입니다. 그리고 key 와 value 는 {key: “value”} 형식이어야 합니다.
좀 더 복잡한 코드를 만들어 볼까요? 3개가 중첩된 코드에 객체가 혼합된 코드입니다.
<b:with value='{이름: "하보니", 성별: "남자"}' var='OBJ1'>
<b:with value='{이름: "조수", 성별: "여자"}' var='OBJ2'>
<b:with value='{팀1: data:OBJ1, 팀2: data:OBJ2, 팀3: "모름"}' var='객체'>
<ol>
<li>Name: <data:객체.팀1.이름/> | Gender: <data:객체.팀1.성별/></li>
<li>Name: <data:객체.팀2.이름/> | Gender: <data:객체.팀2.성별/></li>
<li>Name: <data:객체.팀3/></li>
</ol>
</b:with>
</b:with>
</b:with>
<!--//
결과:
1. Name: 하보니 | Gender: 남자
2. Name: 조수 | Gender: 여자
3. Name: 모름
//-->
[객체]의 별칭에는 [팀1], [팀2], [팀3]이며 [팀1]과 [팀2]의 별칭에는 각각 [OBJ1] 과 [OBJ2] 입니다. 그러므로 점(.)을 구분해서 역추적해보면 어떤 값인지 알 수 있습니다. 이와 같이 with 태그를 이용하면 복잡한 표현식을 만들 수 있습니다.
다음은 이미지 크기 조정하는 코드입니다. 삼항 연산자를 혼합해 사용한 코드입니다.
<b:with value='
data:post.featuredImage.isResizable
? resizeImage(data:post.featuredImage, 72, "1:1") : data:post.thumbnail'
var='image'>
<img expr:src='data:image'/>
</b:with>
0 댓글