2010-08-23 4 views
1

Windows Vista에서 zend 커뮤니티 서버를 사용하고 있습니다. Keith Pope의 책 Zend Framework 1.8에있는 자습서를 따르고 있습니다.이 zend 프레임 워크 경로는 어떻게 작동합니까?

$this->_view->headLink()->appendStylesheet('/css/main.css'); 

은 (404) main.css 파일을 찾지 못했습니다. 실제 파일 경로는 htdocs/myapp/public/css/main.css입니다. 슬래시를 꺼내서 변경하면

$this->_view->headLink()->appendStylesheet('css/main.css'); 

으로 잘됩니다. 그러나 때 젠드 문서의 appendStylesheet 기능의 예를 보면, 그것은 그래서 내가 잘못에 대해 지금 "작동"어떤 날 것으로 보인다 예를

$this->headLink()->appendStylesheet('/styles/basic.css') 

를 사용합니다. 이것이 왜 그렇게에 대한 아이디어가 있습니까?

답변

2

슬래시를 제거하면 "< base />"태그가 스타일 시트가로드되는 위치에도 영향을줍니다. 기본 태그가 존재하지 않으면 CSS가 현재 위치에 상대적으로로드됩니다 (예 : 포함에서 슬래시를 사용하지 않을 경우 은 http://localhost/myapp/css/main.css에서 CSS를로드합니다)

설명에 따르면 문서 루트가 myapp/public/대신 myapp /를 가리키고, < 기본 href = ""/>가 '/ myapp /'로 구성되어 있으므로 실제로/myapp/css/main에서 css를로드합니다. css '를 사용하지 않을 때.

또한 문서 루트의 경로를 확인하십시오.

+1

고마워요! 예, 문서 루트가 공개 대신 myapp로 설정되었습니다. – Matt

0

 echo $this->headLink();
을 출력하기 전에
 echo $this->baseUrl();
을 추가하십시오.

Git Code

 echo $this->baseUrl() . "/" . $this->headLink();

또는

는 희망이 도움이 같은 그래서 레이아웃이 될 것입니다.

관련 문제