2014-10-30 46 views
1

(代碼在底部)如何使用Twig/Assetic和Twig等其他奇怪問題添加資產?

你好。我正在嘗試使用Twig/Assetic(在這裏使用app_dev.php),並且我遇到了一些問題/怪異的行爲。

  1. 我跟着這guide添加js文件,它不適合我。我使用螢火蟲查看了頁面源代碼,並且沒有添加腳本標記。我100%確定目錄中有.js文件。

  2. 我試過類似的技術與CSS,它也沒有顯示出來。

  3. 我正在使用擴展功能。我的基本文件(base.html.twig)是子模板上的一個目錄。但奇怪的是,基礎模板中的內容沒有顯示在呈現的頁面中。

  4. 除了沒有。 3,我將我的塊「body」稱爲子模板的容器。我試圖改變這個「內容」,就像在這個page中看到的那樣,它只是顯示空白。沒有錯別字,所以不能這樣。我將它改回「身體」,它工作正常。奇怪的是,它似乎被硬編碼爲「身體」

  5. 也嘗試使用資產功能附加一個CSS文件,它不工作太。我使用「php app/console資源:安裝web --symlink」來創建符號鏈接。我檢查了可以通過符號鏈接看到css文件,並且文件在那裏。

  6. 存在於我的基礎模板中的內容未顯示在呈現的頁面上。

關於如何解決我的問題的任何想法?

非常感謝

base.html.twig

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>{% block title %}Test Application{% endblock %}</title> 
     {% block stylesheets %} 
      {% stylesheets '@MyAppMyBundle/Resources/public/css/*' filter='cssrewrite' %} 
       <link rel="stylesheet" href="{{ asset_url }}" /> 
      {% endstylesheets %} 
     {% endblock %} 
     {% block javascripts %} 
      {% stylesheets '@MyAppMyBundle/Resources/public/js/*' %} 
       <script type="text/javascript" src="{{ asset_url }}"></script> 
      {% stylesheets %} 
     {% endblock %} 
    </head> 
    <body> 
     <div id="content"> 
      {% block body %}{% endblock %} 
     </div> 
     <div id="footer"> 
      <hr>test<hr> 
     </div> 
    </body> 
</html> 

details.html.twig

{% extends "base.html.twig" %} 

{% block body %} 
    {{ form(form) }} 
{% endblock %} 

附CSS使用資產功能

<link rel="stylesheet" href="{{ asset("bundles/myappmybundle/css/my.css") }}" /> 
+0

在你的例子中,'stylesheets'應該是'javascripts',你有'javascripts',應該是'endjavascripts' – hcoat 2014-10-30 03:23:41

+0

犯了一個錯字。修復後仍然無法工作 – mrjayviper 2014-10-30 04:52:01

+0

您的編輯不正確。我只提出它,因爲如果你在真實文件中使用它會導致問題。 – hcoat 2014-10-30 05:39:41

回答

0

我建議你查看你的頁面源代碼信息,這樣你可以檢查你的源代碼是否真的在web文件夾中或者指向另一個目錄,symfony在web文件夾中存儲所有的css和javascript文件,當你做php app/console assetic:dump,symfony會將所有的資源從bundle中轉儲到web文件夾中。

當你檢查你的java腳本或css時,最好從生成的頁面源中查看它以檢查url。