2012-01-12 17 views
5

ho hvae il css situato inCome includere css dalla cartella risorse in symfony 2

app/Resources/FOSUserbundle/css

Come posso includere che nel mio modello ramoscello

La ragione per cui mi sto mettendo css c'è che i miei modelli FOSUser sovrascritti in quella cartella. Quindi voglio conservare css, js tutte le immagini in modo che se ho bisogno di usare in altri siti web, semplicemente copio quella cartella

risposta

6

Non sono abbastanza sicuro di come lo includeresti nei tuoi modelli TWIG, ma ..

1) Metto le risorse che uso in diversi pacchetti/progetti nella directory web /. Poi si può fare riferimento, allora in questo modo:

{% stylesheets 'css/styles.css' %} 
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" /> 
{% endstylesheets %} 

2) Se è necessario eseguire l'override del FOSUserbundle in ogni caso, si può mettere le risorse all'interno del fascio ereditare, li fa riferimento in questo modo:

{% javascripts '@YourBundle/Resources/public/js/scripts.js' %} 
<script type="text/javascript" src="{{ asset_url }}"></script> 
{% endjavascripts %} 
6

Quello che ho fatto è perfettamente a posto.

Basta procedere come segue: -

$ app/console assets:install web 

verranno installati i beni nella cartella pubblica "web", in cui le attività devono essere tecnicamente, per essere utilizzato con il tuo Twig Modelli.

beni possono quindi essere utilizzati all'interno di template Twig in questo modo: -

{% block stylesheets %} 
     <link href="{{ asset('/css/main.css') }}" type="text/css" rel="stylesheet" /> 
    {% endblock %} 


    {% block javascripts %} 
     <script src="{{ asset('/js/main.js') }}" type="text/javascript"></script> 
    {% endblock %} 
+2

Ma l'asset si collegherà solo alla cartella web/css .... ma il mio css è 'app/resources/.... ' – user825904

+0

Se si stanno installando risorse da un pacchetto, è necessario includere il percorso del pacchetto anche, es: {{asset ('bundles/acmedemo/css/contact.css')}} Dalla doco: http://symfony.com/doc/current/book/templating.html#including-stylesheets-and- javascript-in-ramoscello – Squirtle

3

Anche se suggerisce la questione e sovrascrivono caso, ma ha anche aks per un caso in cui il CSS o js si trovano in una cartella comune, lontano da la struttura del fascio.

Una risposta consiste nell'utilizzare le variabili di ramoscello disponibili. Per esempio se ho un file css trova qui

app/Resources/views/clientSite/customFolder/css/mycss.css 

posso caricare in qualsiasi modello utilizzando qualcosa di simile (si noti l'esempio sostituisce il blocco di fogli di stile pieno, ma non richiesto, il tag foglio di stile ramoscello può essere aggiunto in qualsiasi blocco):

ricorda inoltre di eseguire il Assetic: comando di discarica, in modo da symfony sa che doveva pubblicare il CSS alla cartella web/css con tutti gli altri file.

Problemi correlati