1

Symfony 1.4でテンプレートにスタイルシートを追加する方法を知っている人はいますか?

frontend / config / view.ymlの変更からテンプレート自体の変更まで、考えられるすべてのことを試しました。どちらも機能します。

私の検索から、他の人も同じ問題を抱えていることがわかりました。include_stylesheetsとuse_stylesheetsの使用の間には、ある種の衝突があるようですが、これはAFAIKのどこにも文書化されていません。

4

3 に答える 3

5

編集:

わかりました、私は今それを手に入れたと思います。レイアウトファイルinclude_stylesheets()headセクションに次を追加する必要があります。

<html>
   <head>
       <title>This is the title</title>
       <?php include_stylesheets() ?>
   </head>
   <body>
   <!-- ... -->

次に、テンプレートファイルで、use_stylesheet()このテンプレートの特定のスタイルシートを追加するために使用します。

<?php use_stylesheet('/path/to/stylesheet.css') ?>

APIドキュメントから:

include_stylesheets()
view.yml<link>で構成された、または応答オブジェクトに追加されたすべてのスタイルシートのタグを出力します。

use_stylesheet()
応答オブジェクトにスタイルシートを追加します。

Javascriptについても同じです。


APIドキュメントによると、1.4でも機能するはずですが、次のsfWebResponse方法があります。

addStylesheet ($file, $position, $options)   
  $file   The stylesheet file  
  $position   Position   
  $options    Stylesheet options  
Adds a stylesheet to the current web response.

少なくともメソッドは存在します。
正確には何が問題ですか?そのメソッドを呼び出したい場合、またはスタイルシートが追加されていない場合、エラーが発生しますか?

于 2010-01-20T09:09:06.980 に答える
4

http://www.symfony-project.org/tutorial/1_4/en/upgrade#removal_of_the_common_filter

1.4以降、JavaScriptとスタイルシートがheadタグに自動的に挿入されなくなりました。代わりに、配置するレイアウトに次のものを含める必要があります。

<?php include_javascripts() ?>
<?php include_stylesheets() ?>

投稿のタイトルがタイプミスではなかった場合に備えて、応答からaddStylesheet('...')を使用することをお勧めします。

$sf_response->addStylesheet('main');
于 2010-01-20T07:43:19.457 に答える
0

$sf_context->getResponse()->addStylesheet('style.css')

$sf_context->getResponse()->addJavascript('script.js')

于 2010-01-20T08:53:23.100 に答える