제 레이아웃에서 자바 스크립트를 많이 사용하고 있습니다. 이 두 스크립트는 조건부이며 IE9 용으로 만로드해야합니다. 나머지 브라우저는 모든 브라우저에로드해야합니다.레이아웃의 머리 부분에 조건 스크립트 배치하기
이 작업을 수행하려면 Bootstrap 클래스에서 다음을 수행해야합니다.
$this->_view->headScript()->appendFile ('//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js', 'text/javascript', array('conditional' => 'lt IE 9'));
$this->_view->headScript()->appendFile ('//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js', 'text/javascript', array('conditional' => 'lt IE 9'));
$this->_view->headScript()->appendFile ($this->_view->baseUrl ('/assets/js/scripts.min.js?ver=1.0.0'));
이것은 작동하며 레이아웃에서 다음 출력을 얻습니다.
<!--[if lt IE 9]> <script type="text/javascript" src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script><![endif]-->
<!--[if lt IE 9]> <script type="text/javascript" src="//oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script><![endif]-->
<script type="text/javascript" src="http://om.localhost.com/assets/js/scripts.min.js?ver=1.0.0"></script>
위의 출력은 문제가 없습니다. 하지만 레이아웃의 머리 부분에 조건부 스크립트를 넣고 몸체 끝에는 나머지 스크립트를 넣는 것이 좋습니다.
ZF1에서이를 수행 할 수있는 방법이 있습니까?
P. 자리 표시자를 사용하려했지만 작동하지 않았습니다. 레이아웃에 이러한 스크립트를 하드 코딩하지 않기를 바랍니다.
도움 주셔서 감사합니다.
감사. 그러나 이것은 모든 레이아웃에서이 코드를 하드 코딩해야한다는 것을 의미합니다. 부트 스트랩 클래스에서 설정할 수있는 레이아웃을 찾고 있습니다. 그런 식으로 변경해야한다면 부트 스트랩 클래스에서 메소드를 변경해야합니다. –