2012-10-18 9 views
6

Ich verwende den folgenden Code, um meine CSS-Datei in Assets zu veröffentlichen.Yii Asset Manager - CSS mit Bild-URL

Es registriert die CSS erfolgreich und Stile funktionieren gut, aber die folgende CSS-Klasse mit einem Bild.

.ui-icon { 
    background-image: url(../images/down-arrow.png); 
} 

wird nicht geladen, es wird auf Pfad innerhalb der Assets-Ordner verwiesen. Es sucht das Bild innerhalb

root/assets/images/

Gibt es eine Möglichkeit, die Bild-URL in der CSS auf den ursprünglichen Pfad zu umleiten, weil ich meine Bilder nicht bin Registrierung als Vermögenswerte ab sofort.

root/Bilder

+1

Es macht nicht viel Sinn, Ihr CSS als Asset zu veröffentlichen, aber lassen Sie Ihre Bilder frei. Entweder entwerfen Sie eine in sich geschlossene Komponente (in diesem Fall veröffentlichen Sie alles) oder Sie nicht (in diesem Fall veröffentlichen Sie nichts). – Jon

+0

@Jon, wenn ich Bilder in Assets publiziere, behält es nicht den gleichen Ordnernamen (Bilder) in meinem Assets-Ordner. es wird wie '/ root/assets/4s431e/icon.png' sein? – Suriya

+0

Ich erweiterte den Kommentar in eine Antwort. – Jon

Antwort

11

ist so konzipiert, Yü Asset-Manager können Sie Komponenten lassen verpacken wie UI-Widgets in einem in sich geschlossenen Weise (die Alternative manuell zu sein, um verschiedene Dateien an verschiedenen Orten innerhalb Ihrer Anwendung zu verteilen Verzeichnisaufbau). Wenn es also sinnvoll ist, irgendetwas als ein Asset von Ihrer Komponente zu veröffentlichen, ist es sinnvoll, alles als Asset zu veröffentlichen.

In diesem Fall sollten Sie Ihre Komponente z. als

component/ 
    assets/ 
     css/ 
     images/ 
     js/ 

Dann veröffentlichen die ganze assets/ Verzeichnis Yü Asset-Manager statt zu veröffentlichen Dateien nacheinander. Wenn Sie dies tun, werden sie in einer Art und Weise wie

assets/ 
    random_hash/ 
     css/ 
     images/ 

Ihre CSS können Bilder mit url(../images/image.jpg), ohne zu wissen, den Wert von random_hash dann einfach beziehen sich am Ende veröffentlicht.

+0

Mein css sieht nicht Bilder ((in Random_hash/ist nur CSS-Datei. – frops

Verwandte Themen