2013-08-07 2 views
0

카탈로그의 기사 목록을 보여주는 페이지에서 페이지 매기기 (Zend_Paginator를 사용하지 않음)를 표시합니다.젠드 뷰 : 동일한 뷰 스크립트에서 출력을 여러 번 사용하는 방법은 무엇입니까?

페이지 매김 블록은 괜찮지 만 여러 번 상단 및 하단에)

출력을 캡처하고 두 번 실행되는 외부보기 스크립트를 사용하지 않고 두 번 렌더링하는 방법이 있습니까? 코드가 될 것 젠드 프레임 워크보기를 사용하여이 작업을 수행하는 일반적인 방법 모양을 모른 채

답변

1

자리 표시는 한 번 캡처 솔루션이며, 출력은 여러 번 사용할 수 있습니다

<? $this->placeholder('foo')->captureStart(); ?> 
My script to make pagination... 
<? $this->placeholder('foo')->captureEnd() ?> 

<!-- used one time --> 
<?= $this->placeholder('foo'); ?> 
Items to display 
<!-- used a second time --> 
<?= $this->placeholder('foo'); ?> 
+0

멋진데 zend 프레임 워크에 익숙하지 않았지만 자리 표시 자 (아마도 내가 지금까지 필요로하지 않았기 때문일 것입니다). 그것을 명심하십시오. 나는 벤치 마크로 이것을 시험 할 시간이 없다. 그러나 나의 추측은 내 솔루션 (렌더링 두 번)과 솔루션 (자리 표시 자)이 평범한 상황에서 평등하게 수행된다는 것이다. – RMK

0

:

/paginatorViewscript.phtml

/* 
    Paginator script content 
*/ 

카탈로그 페이지를

<?=$this->render('paginatorViewscript.phtml')?> 
/* 
    various catalog content 
*/ 
<?=$this->render('paginatorViewscript.phtml')?> 

그런 식으로 스크립트가 두 번 표시됩니다 (상단과 하단). 당신은 명시 적으로 외부 뷰 스크립트없이 이것을하고 싶지 않다고 말하지만 이것을 수행하는 방법입니다.

아마도 외부 뷰 스크립트를 사용하고 싶지 않은 이유를 보여줄 수 있습니까?

+0

페이지 매김 스크립트 만이보기 스크립트에서 사용됩니다. 따라서 프로젝트에서 phtml 파일의 곱셈을 피하기 위해이 부분을 html로 유지하는 것을 선호합니다. 다른 이유는 성능입니다. 코드에서 뷰 스크립트가 두 번 실행되지만 출력을 두 번 사용할 수있는 동안 실행이 한 번만 필요합니다. –