2011-04-18 7 views

답변

2

템플릿에서 사용 하시겠습니까? 스토리에 템플릿에 필드가 있는지 알고 싶으면 get_field() 또는 get_value() 메소드를 사용할 수 있습니다. 당신이 필드에 값이 있는지 알고 싶다면

if (my $field = $element->get_field('teaser')) { 
    $m->print('<p>', $field->get_value, "</p>\n"); 
} 

, 당신은 get_value()를 사용 : 필드가 존재하는 경우가 Bric::Biz::Element::Field 객체를 반환 당신이 그냥 알고 싶다면 get_field()를 사용 (여기 메이슨의 템플릿을 가정) :

더 필드 객체, 그리고 존재하는 경우 필드 객체의 값이없는 경우 방법은 undef가 반환
if (my $val = $element->get_value('teaser')) { 
    $m->print("<p>$val</p>\n"); 
} 

. 값이 빈 문자열이거나 0 인 경우 아무 것도 거기에 인쇄되지 않습니다.

그러나 Bricolage 문서는 트리 구조의 요소로 구성되어 있습니다. 템플릿을 만드는 가장 좋은 방법은 각 컨테이너 요소에 대한 것입니다. 위의 예는 최상위 "스토리"요소 템플릿에있을 수 있습니다. $element이 최상위 요소가됩니다. 하지만 '테스터'입력란이 '메타 데이터'라는 하위 요소에있는 경우 위 코드로 '메타 데이터'요소 템플릿을 만들고 스토리 요소 템플릿에서 호출해야합니다 (예 :

$burner->display_element('metadata'); 
).

Bricolage 템플릿 및 API에 대한 소개는 Bric::Templates을 참조하십시오.

HTH,

데이비드

관련 문제