Keine route gefunden für “GET /img/glyphicons-Halblinge.png"
Ich habe eine Frage zu symfony2 und bootstrap. Ich verstehe nicht, warum kann ich icons laden Bild vom Klima "prod", nicht aber von der Umwelt "dev". In dev, ich bekomme diese Fehlermeldung.
Ist die route "GET /img/glyphicons-Halblinge.png".
Bild web/img/glyphicons-Halblinge.png ist ein symbolischer link auf ../../vendor/twitter/bootstrap/img/glyphicons-Halblinge.png
Bekomme ich diesen Fehler mit
http://my.web.site/app_dev.php/img/glyphicons-halflings.png
Und get Bild mit
http://my.web.site/img/glyphicons-halflings.png
UPDATE
Ich bootstrap in dieser Weise:
{% stylesheets '%kernel.root_dir%/../vendor/twitter/bootstrap/less/bootstrap.less' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}
Wenn ich in der prod dieses funktioniert
<span class="icon-edit"></span>
Und ich habe diese assetic-Konfiguration:
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [ MyAwesomeBundle ]
filters:
lessphp:
file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php
apply_to: "\.less$"
Ich habe auch versucht, um meine Sammlung:
assetic:
assets:
senso:
inputs:
- '../img/glyphicons-halflings.png'
outputs:
- 'img/glyphicons-halflings.png'
filters:
- ?lessphp
:dump erstellen web/assetic/senso.png web - /assetic/senso_glyphicons-Halblinge.png-aber, ... wie kann arbeitet mit senso*.png-Bild?
- leider ist Sie nicht mit der * syntax für die Bilder... und Sie sollten ommit die lessphp auf deinem Bild völlig:) der ? erzählt assetic den filter anwenden nur in der Produktion.
- Ihr Eingang Bild in die Sammlung sollte besser so etwas wie "%kernel.root_dir%/../vendor/twitter/bootstrap" - siehe meine Antwort, ich habe meine assetic config für Sie.
- Funktioniert jetzt aber mit asset('css/bootstrap.css') anstatt asset('@css_bootstrap'). Mit @css_bootstrap asset-Schreibe einfach /css_bootstrap. Aber ... jetzt funktioniert es!!!
- Mit {% stylesheet ... ich bekomme diese Fehlermeldung: [2/2] Twig_Error_Runtime: Eine Ausnahme wurde geworfen, die bei der Erstellung einer Vorlage ("Es gibt keine "css_boostrap" asset.") in "SensorarioTrashwareBundle:Standard:layout.html-Code.Zweig".
- ich werde überprüfen und aktualisieren Sie die Antwort wieder. der @ - syntax kann verwendet werden, bezieht sich auf den Namen der Kollektion. hast du vielleicht benennen Sie die Sammlungen unter assetic.Vermögen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
config.yml
config_dev.yml
template
nach dem ausführen
assetic:dump --no-debug
alles funktioniert einwandfrei.Allgemeine info
den cssrewrite filter verwendet, d.h. für
background-image: url("..")
ist unvereinbar mit der@Bundle
-syntax.nicht funktioniert.
Darüber hinaus Quellen wie
url("../img/image.png")
fehl in der dev-Umgebung ohne cssrewrite undassetic.use_controller: true
- mögliche Problemumgehung: verwenden Sie eine URL wie dieurl("/img/image.png")
aber nicht die Arbeit mit Seiten in Unterordnern.sollten Sie im Hinterkopf behalten, dass ...
... wird für
hostname/app_dev.php/
und alle andere Routen außerhostname/
.Lösung:
anderen Lösungen & Tipps
asset()
,{% stylesheets %}
oder{% javascripts %}
Funktion.url("../img/image.png")
assetic.use_controller: false
in Ihremconfig_dev.yml
- und dump Ihre Vermögenswerte ... wie beschrieben hierconfig.yml
, dann werfen Ihre Aktiva - siehe mein Antwort hier.project.dev
) für die dev-Umgebung mitapp_dev.php
als directory-index resultierende url ist ohne/app_dev.php/
finden Sie einige gute Informationen zu diesem Thema in den Antworten auf diese Frage.
mein persönlicher workflow:
project.dev
-, Projekt.prod ... ( keine/app_dev.php/
Probleme )assetic:dump --watch
( re-dump auf ändern, aber testen und optimieren aswell )assetic:dump --debug
( siehe: die tatsächlichen Quelldateien für kombinierte Dateien,less,sass,coffeescript, ... )