Symfony2 프런트엔드 템플릿에서 CSS를 가져온 후 배경 이미지가 표시되지 않습니다.
我想大声告诉你
我想大声告诉你 2017-05-16 16:44:10
0
2
693

symfony2가 CSS를 관리한 후 CSS에 정의된 배경 이미지가 있는데 Symfony2는 CSS에 정의된 배경 이미지의 경로를 변경하지 않아 배경 이미지가 표시되지 않는 현상이 발생합니다. 내가 해야 하나? 미리 감사드립니다!

我想大声告诉你
我想大声告诉你

모든 응답(2)
淡淡烟草味

Assetic을 사용하는 경우 cssrewrite 파일러를 추가해야 합니다. 즉:

으아악

이 필터는 무엇을 의미하나요?

자산:dump(또는 자산:설치)를 수행하면 Symfony2는 정적 파일(CSS)을 번들에서 웹 루트 디렉터리로 이동하므로 일부 파일의 경로가 변경됩니다(예: CSS 이미지에서 참조되는 경로). 피험자가 언급한 문제를 일으키는 원인이 됩니다.

그래서 cssrewrite 필터는 특히 CSS와 이미지 간의 상대적 관계를 계산하고 CSS에서 경로를 직접 업데이트하는 데 사용됩니다.

실제 예를 들어 보겠습니다. 이제 logo.png와 style.css라는 두 개의 파일이 있습니다.

으아악

style.css에서 logo.png를 참조하려면 ../img/logo.png가 필요하죠?

이제 자산:dump를 실행하면 Symfony2의 Assetic 구성 요소는 logo.png 및 style.css를 /web 디렉터리로 내보냅니다. /src에 직접 액세스할 수 없기 때문에 이제 logo.png 및 style.css는 새로 내보내기됩니다. 디렉토리:

으아악

11e4a17.css(style.css 이름이 변경된 이후의 파일)와 logo.png 사이의 상대적 관계가 변경된 것을 볼 수 있습니다. 원본 ../img/logo.png는 더 이상 logo.png를 참조할 수 없습니다. cssrewrite의 특징은 11e4a17.css(style.css)의 ../img/logo.png를 ../bundles/app/img/logo.png로 업데이트한다는 것입니다.

말하기가 너무 길어서 질문자님께 도움이 되었으면 좋겠습니다.

刘奇

문서를 아직 안 읽어보셨을 텐데, 드릴게요
Assetic을 자산 관리에 활용하는 방법

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿