문제

YII는 자산 디렉토리에서 이상한 디렉토리 세트 (8523D23 또는 10S89B92와 같은 이름)를 생성하는 것을 알 수 있습니다. 이는 런타임에도 발생합니다. 예를 들어, 내 테이블 중 하나는 10 개 이상의 레코드, 페이지 매김이 시작되었으며 Pager.css라는 자산 하위 디렉토리에 새 파일을 얻었습니다.

내 사이트를 테스트에서 프로덕션으로 옮기면 모든 것을 복사하거나 빈 "자산"디렉토리를 만들어야하며 런타임에 채워 집니까?

예를 들어 새로운 JQuery 플러그인을 추가하려면 어떻게 진행해야합니까?

예를 들어 jQuery.charcounter.js를 추가하고 싶습니다. 자산에 복사합니까? yii/framework/web/js/source? 후자를 수행하면 HTML 페이지 출력 에이 .js 파일을 어떻게 얻습니까?

도움이 되었습니까?

해결책

assets 쓰기 가능한 디렉토리 여야합니다. YII는 자산을 처리합니다.

전화로 Yii::app()->assetManager->publish() 일부 스타일 시트, 이미지, 스크립트 또는 전체 디렉토리를 웹 보이블 폴더에 넣을 수 있습니다.

pager.css 그리고 기타 비 경찰 파일은 위젯에 의해 생성됩니다 (CLinkPager 예를 들어) 및 기타 구성 요소 (예 : CClientScript 필요할 때마다 jQuery를 게시합니다).

배포하는 동안이 폴더는 비어 있어야하지만 실제로는 중요하지 않습니다.

프레임 워크 폴더를 통해 플러그인 추가를 수행해서는 안됩니다. 당신은 그것들을 넣을 수 있습니다 components Dir 및 필요한 경우 런타임을 게시하거나 다른 편리한 가시 디렉토리 (예 : images 또는 css).

업데이트

임베드 jquery.charcounter.js, 그것을 넣으십시오 components 디렉토리, 전화하십시오

Yii::app()->clientScript->registerScriptFile(
    Yii::app()->assetManager->publish(
        Yii::getPathOfAlias('application.components').'/jquery.charcounter.js'
    ),
    CClientScript::POS_END
);

이상한 폴더 이름과 관련하여, 나는 그것들이 고유 한 해시 (또는 일부)라고 확신하기 때문에 응용 프로그램이 여러 확장을 사용하는 경우 차별화 될 수 있습니다.

다른 팁

이것은 자산 폴더에 대한 자세한 설명을 제공하므로 쿼리를 해결합니다.

http://www.yiiframework.com/wiki/148/understanding-assets/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top