Problem:
Sie haben CSS-Dateien, die Pfade zu Bildern enthalten, Schriftarten und andere Assets. Ihre Dateistruktur ist wie folgt:
... +-src/ | +-MyCompany/ | +-MyBundle/ | +-Resources/ | +-assets/ | +-css/ | +-stylesheets... +-web/ | +-images/ | +-images... ...
Sie möchten Ihre Bilder im Stylesheet referenzieren, aber verschiedene Lösungen haben sich als problematisch erwiesen.
1. In „Öffentliche“ und „Private“ Verzeichnisse aufteilen:
Speichern Sie Ihre ursprünglichen CSS-Dateien in einem privaten Verzeichnis (z. B. src/Common/DirtyBundle/Resources/assets/css). Kopieren Sie diese Dateien in ein öffentliches Verzeichnis, bevor Sie assetic:dump ausführen (z. B. web/bundles/commondirty/css_original).
2. Verwenden Sie den Assetic-Filter „cssrewrite“ (optional):
Dieser Filter ist nicht unbedingt erforderlich, kann aber die Pfadmanipulation vereinfachen. Passen Sie bei Verwendung unbedingt die Syntax entsprechend an.
3. Mit Twig integrieren:
Referenzieren Sie in Ihrer Twig-Vorlage die CSS-Dateien mithilfe der entsprechenden Verzeichnisse und Filter:
{% stylesheets 'bundles/commondirty/css_original/container.css' filter="cssrewrite" %} <link href="{{ asset_url }}" rel="stylesheet" type="text/css" /> {% endstylesheets %} {% stylesheets '@CommonDirtyBundle/Resources/assets/css/k.css' filter="cssrewrite" %} <link href="{{ asset_url }}" rel="stylesheet" type="text/css" /> {% endstylesheets %}
4. Behandeln Sie Bildpfade:
Verwenden Sie je nach Konfiguration relative oder absolute Pfade, um Bilder zu referenzieren. Zum Beispiel:
5. Wartung:
Nachdem Sie die kombinierte CSS-Datei mit assetic:dump generiert haben, können Sie bei Bedarf die ursprünglichen CSS-Dateien aus dem öffentlichen Verzeichnis löschen.
6. Verbleibende Einschränkungen:
Das obige ist der detaillierte Inhalt vonWie verweisen Sie auf Bilder in CSS-Dateien innerhalb eines Symfony 2-Projekts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!