0

私は現在取り組んでいる Web サイトを symfony フレームワークを使用するように適応させようとしていますが、Web 開発に関してはかなり初心者で、たくさんの質問があります。

  1. すべてのリソースを正しくロードするのに非常に苦労しています。私は資産を使用しようとしていますが、何を試しても、ページをロードすると何百もの 404 が見つからないという応答が返されます。私の現在のディレクトリ構造は以下のとおりです。

  • シンフォニー
    • ソース
      • CS4750
        • フォトチャレンジバンドル
          • コントローラ
          • 資力
            • 構成
            • 公衆
              • CSS
              • 画像
              • js
              • ライブラリ
                • LibraryX
                  • CSS
                  • 画像
                  • js
            • ビュー

私が今抱えている最大の問題は、css ファイル内の画像です。使ってみました

filters:
    cssrewrite: ~

しかし、最初にアセットを実行せずに試したhttp://localhost/Symfony/web/Resources/public/img/*代わりに 、すべてのパスが指しています。それから web をインストールしてから実行しますが、どちらも違いはないようです。http://localhost/Symfony/web/bundles/cs4750photochallenge/img誰かが私がこれを乗り越えるのを手伝ってくれたら、それは素晴らしいことです.

  1. 私が抱えている別の問題は、2 つの追加の css ファイルをインポートする css ファイルにあります。ページが読み込まれると、追加の css ファイルも 404 応答を返します。

  2. asset:install と asset:dump の違いは何ですか

  3. また、js ファイルの 1 つがサーバー エラー 500 を返していますが、正常に動作しているように見える残りの js ファイルと同じように対処しています。

上記の質問のいずれかへの回答、または関連するウェブサイト/投稿へのリンクをいただければ幸いです。私はインターウェブを何時間も掘り下げてきましたが、実際には何の進歩もありません. プロジェクトのレイアウトをより詳細に投稿してコーディングしたり、説明したりする必要がある場合はお知らせください。

より詳しい情報:

Example of css files:


 /* IMPORTS ------------------------------------------------------------*/

    @import url('reset.css');
    @import url('styled-elements.css');
    /* HACKS ------------------------------------------------------------*/

    .clear {
        clear: both;
        height: 1px;
    }
    body {
        line-height: 1;
        color: #51565b;
        background: #f1f1f1 url(../img/bg/patterns/noise.png);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 100%;
}

Config_dev.yml:

 imports:
    - { resource: config.yml }

framework:
    router:   { resource: "%kernel.root_dir%/config/routing_dev.yml" }
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
        firephp:
            type:  firephp
            level: info

assetic:
    use_controller: true
    filters:
        cssrewrite: ~

テンプレート:

<!DOCTYPE  html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Weekly Photo Challenge</title>
        <!-- CSS -->
        {% stylesheets
            '@CS4750PhotoChallengeBundle/Resources/public/css/*'
            '@CS4750PhotoChallengeBundle/Resources/public/libraries/fancybox/css/*'

            filter='cssrewrite'
        %}
            <link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
        {% endstylesheets %}

        <!-- JAVASCRIPT -->
        {% javascripts
            '@CS4750PhotoChallengeBundle/Resources/public/js/jquery-1.5.1.min.js'
            '@CS4750PhotoChallengeBundle/Resources/public/js/*'
            '@CS4750PhotoChallengeBundle/Resources/public/js/ajax/*'
            '@CS4750PhotoChallengeBundle/Resources/public/libraries/fancybox/js/*'

        %}
            <script type="text/javascript" src="{{ asset_url }}"></script>
        {% endjavascripts %}
4

3 に答える 3

2

この問題に対処する小さなバンドルFkrCssURLRewriteBundleを作成しました。どのように機能するかについては、Readme を参照してください。多分それはあなたの何人かにとって興味深いです。

于 2012-06-09T13:48:16.010 に答える
1

cssrewrite フィルターは、現時点では @bundle 表記と互換性がありません。参照: Symfony 2 の CSS ファイルのアセットのパス

于 2012-05-23T17:46:46.613 に答える
-1

cssファイルに相対リンクがあり、cssリライトフィルターがあり、アセットをダンプすると、問題なく機能するはずです。

小枝ファイルでフィルターを使用する必要があります。

{% stylesheets '@PhotoChallengeBundle/Resources/public/css/*' filter='cssrewrite' %}
    <link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
{% endstylesheets %}

詳細な説明については、クックブックのAsseticエントリを確認してください。

于 2012-03-19T00:49:05.793 に答える