2011-12-05 5 views
1

나는 다국어 사이트를 개발 중입니다.플러그인에서보기 스크립트 설정 - 존재하는지 확인 하시겠습니까?

일부 언어는 오른쪽에서 왼쪽으로 레이아웃을 사용하고 일부는 왼쪽에서 오른쪽으로 사용합니다.

따라서 일부 뷰 스크립트에는 자동으로로드하려는 다른 RTL 뷰 스크립트가 있습니다.

나는 사용자가 RTL 인 경우 확인하는 플러그인을 쓴 예는 파일의 접미사에 '.rtl'을 추가하는 경우 : Zend_Controller_Action_HelperBroker :: getExistingHelper ('ViewRenderer') -> setViewSuffix ('rtl.phtml'); 내가 내 컨트롤러에서 할 경우

문제는 .... 내보기 스크립트의 모든는 RTL보기 스크립트를 가지고, 그래서 파일이 존재하는지 확인하려는 $ this-

그게 문제입니다 > render ('someScript') 그런 다음 .rtl 스크립트가 존재하는지 확인하는 방법이 없다. 아는 한.

간단히 말해서 : 동작이 끝난 후 렌더링되기 전에 어떤 방식으로 (이벤트) 연결 되나요?

어쩌면 사용자 지정보기 렌더러를 작성해야합니까?

감사합니다.

답변

0

동작이 실행 된 후에 만 ​​RTL 검사가 발생할 수있는 경우 postDispatch 후크를 사용하여 ViewRenderer를 통해 viewSuffix를 설정하고보기 스크립트의 경로를 검색하는 액션 도우미를 만들 수 있습니다. scriptPath보기와 viewRenderer getViewScript()를 사용하여 파일의 절대 경로를 작성할 수 있습니다. 그래도 목표를 달성하는 것은 결코 쉬운 방법이 아닙니다.

LTR 용과 RTL 용으로 두 개의 scriptPath를 만드는 것이 좋습니다. 사용자가 RTL 언어를 사용하면 RTL scriptPath를 view scriptPath 스택에 추가 할 수 있습니다. 그런 식으로 Zend_View는 먼저 RTL 디렉토리를 확인하고 LTR 디렉토리를 폴백으로 사용합니다.