답변:
블록은 항상로 참조 할 수 있습니다 name
. 별명 ( as
)은 블록의 긴 이름을 단순화하는 데 사용되며 범위와 다른 점만 다릅니다. Name
페이지와 alias
상위 블록 내에서 고유해야합니다 .
getBlockHtml()
되지만 이름으로 블록을 렌더링하는 데 사용되는 이름 지정된 메소드가 있다는 점을 지적해야합니다 .
as 를 사용 하면 phtml 템플릿에서 $ this-> getChildHtml ( "as_value") 를 호출 할 수 있습니다 .
이름은 고유해야 사용될 수 <참조> 블록, <> 삭제 등
예를 들어 (catalog.xml) :
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
<block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
</block>
catalog / product / view.phtml을 열면 다음이 표시됩니다.
<div class="product-img-box">
<?php echo $this->getChildHtml('media') ?>
</div>
알 겠어? as = "media"를 입력 한 다음 $ this-> getChildHtml ( 'media') ...
unsetChild
아직 특정 질문에 아무도 답변 하지 않았습니다. 블록의 자식 과 관련된 메서드 는 항상 별칭으로 자식 블록을 참조합니다. 별칭은 부모에게만 알려져 있으며 이름과는 달리 전 세계적으로 고유하지 않습니다.
그러나 별칭을 정의하지 않고 블록을 만든 경우 별칭의 이름이 기본값이됩니다.
즉, 자식 블록에 명시적인 별칭이 있으면 별칭을 사용해야합니다. 그렇지 않은 경우 이름을 사용하십시오.
별명 주어진다 as="..."
들이 주위를 이동하거나 같은 동적 방법으로 추가 된 경우, 또는 동작 파라미터가 블록을 통해 XML 하위 블록으로 만들어진 경우 append()
, insert()
또는 setChild()
.