SORU
28 AĞUSTOS 2012, Salı


Nasıl Symfony 2 CSS dosyası eklemek ve Dal?

Etrafında Dal şablon CSS ve JS dosyaları da dahil olmak üzere sorunları var 2, ve Symfony ile oynuyorum.

Bir paket Webs/HomeBundle verdi. İnslide dal bir şablon dosyası oluşturur ındexaction ile HomeController var:

public function indexAction()
{
    return $this->render("WebsHomeBundle:Home:index.html.twig");
}

Bu çok kolay. Şimdi ne yapmak istiyorum, bu Dal şablon içinde CSS ve JS bazı dosyalar vardır. Şablonu bu gibi görünüyor:

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

, Main.js dosya eklemek istiyorum dosya bulunur:

Webs/HomeController/Resources/public/css/main.css

Benim soru temelde, nasıl Twig şablon içinde basit bir CSS dosyası vardır?

Dal varlık kullanıyorum() işlevi ve bu polemiğe girmek doğru CSS yolunu isabet etmez. Ayrıca, konsolda bu komutu çalıştırın:

app/console assets:install web

Bu, /webshome/... bu sadece src bağlama/HomeController/ Kaynak/ortak/web/paketler// Ağları yeni bir klasör yarattı?

Her neyse, benim soru vardır: 1. Burada yer musun "varlık" dosyaları, JS, CSS ve resim? Paket koymak TAMAM, Kaynaklar, ortak klasör? Bu onlar için doğru yer mi? 2. Nasıl bu "" Twig şablon dosyaları varlığın işlevi?kullanarak varlık bulunur musunuz Eğer ortak klasör varsa, bunları nasıl ekleyebilirim?

Başka bir şey yapılandırmanız gerekir?

CEVAP
28 AĞUSTOS 2012, Salı


Her şeyi doğru, asset() fonksiyon için paket yolu geçtikten dışında yapıyorsun.

Örnek documentation - göre bu aşağıdaki gibi görünmelidir:

{{ asset('bundles/webshome/css/main.css') }}

İpucu: siz de web klasörde sembolik bağ oluşturur bu yüzden varlıklar Ara: --symlink tuşu ile yükleyin. Bu son derece yararlı ne zaman sen sık sık uygulamak js css değişiklikler (bu şekilde yaptığınız değişiklikler, uygulanan src/YouBundle/Resources/public olacak hemen yansıyan web klasör olmadan arayayım assets:install tekrar):

app/console assets:install web --symlink

Eğer isterseniz ayrıcaekleyinçocuğunuzun bazı varlıklar şablon parent() Dal bloğu için bir yöntem diyebiliriz. Senin durumunda böyle olabilir:

{% block stylesheets %}
    {{ parent() }}

    {{ asset('bundles/webshome/css/main.css') }}
{% endblock %}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • sWooZie

    sWooZie

    9 ŞUBAT 2006
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010