Question

J'utilise Assetic pour inclure des fichiers Javascript, mais quand il est utilisé dans l'environnement de dev, /app_dev.php est ajouté au début de l'URL, de sorte que les regards url finaux comme /app_dev.php/js/something.js. Il en résulte une 404 en essayant de charger la JS. Quand j'accéder au site de l'environnement de production les URL ne pas comprennent /app_dev.php et tout fonctionne très bien.

Je pourrais ajouter une condition qui vérifie si c'est l'environnement de dev et str_replace d'appel sur les URL, mais je voudrais résoudre la racine de ce problème, si possible.

Modifier

@gilden, je comprendrais que dev qu'ils obtiendraient traités chaque fois, mais les URL résultat simplement 404s.

Voici ma config Assetic:

assetic:
    debug:          %kernel.debug%
    use_controller: false
    filters:
        cssrewrite: ~
        # closure:
        #     jar: %kernel.root_dir%/java/compiler.jar
        # yui_css:
        #     jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar

Et voici comment je l'utilise dans mon modèle (app / Ressources / vues / base.html.php)

foreach ($view['assetic']->javascripts(
            array('@AssetsBundle/Resources/public/js/*'), array(), array('output' => 'js/combined.js')) as $url) {
            echo 'url: ' . $url . '<br />';    
        }

Je comprend alors $ URL à l'aide d'une aide personnalisée je l'ai écrit, mais il contient déjà app_dev.php à ce moment-là.

Était-ce utile?

La solution

Je n'ai pas utilisé php symfony dans templating Je crains que je n'ai pas la meilleure réponse. En utilisant un code personnalisé, vous contournent probablement une logique interne, qui gère la demande à un contrôleur.

Pour contourner ce problème vous pouvez essayer de supprimer assetic: use_controller: true de /app/config_dev.yml.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top