5

私は Symfony2 フレームワークに不慣れで、javascript の操作方法と最適な方法で JavaScript を含める方法を完全には理解していません。

必要なもの: 各ページに jQuery スクリプトを含めること。

私が持っているもの: 私は次のような一般的なレイアウトを持っています:

<!DOCTYPE html>
<html>
    <head>
        {% block javascripts %}{% endblock %}
    </head>
    <body>
        {% block body %}{% endblock %}

    </body>
</html>

jquery.js を配置する場所。web/bundles/jquery はどうですか? または、いくつかの特別な公式 jquery バンドルがありますか? asset() を使用する必要がありますか?

4

4 に答える 4

13

あなたのjquery.min.jsが下に置かれていると仮定します src/Acme/FooBundle/Resources/public/js/

どちらでも使用できます

<script type="text/javascript" src="{{ asset('bundles/acmefoo/js/jquery.min.js') }}"></script>

また

{% javascripts
    '@AcmeFooBundle/Resources/public/js/jquery.min.js'
%}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

あなたの小枝テンプレートに。

後でアセットをインストールしたことを確認するか、このコマンドを実行してください

php app/console assets:install web --symlink
于 2012-08-17T15:21:01.280 に答える
0

composer パッケージで実装するには、symfony パッケージに移動し、次のコマンドを実行します。

ベンダー パッケージをダウンロード:

選択するパッケージはあなた次第です。この例では、人気のあるパッケージ (bmatzner/jquery-bundle) を使用しています。

php composer.phar require bmatzner/jquery-bundle:2.*jQuery 2.x の場合

また

php composer.phar require bmatzner/jquery-bundle:1.*jQuery 1.x の場合

バンドルを AppKernel に追加します。

/* /app/AppKernel.php */

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            new Bmatzner\JQueryBundle\BmatznerJQueryBundle(),
    ///...

アセットをインストールします。

php bin/console assets:install --symlink web

テンプレートに含めるには:

<!-- /app/Resources/views/base.html.twig -->

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <script type="text/javascript" src="{{ asset('bundles/bmatznerjquery/js/jquery.min.js') }}"></script>
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}{% endblock %}
        {% block javascripts %}{% endblock %}
    </body>
</html>

キャッシュの消去:

php bin/console cache:clear --env=dev
php bin/console cache:clear --env=prod
于 2016-05-13T17:24:46.323 に答える
0

純粋さのために。もちろん、<script>タグは閉じる必要があるため、正しいコード スニペットは次のとおりです。

<script type="text/javascript" src="{{ asset('bundles/acmefoo/js/jquery.min.js') }}"></script>

{% javascripts '@AcmeFooBundle/Resources/public/js/jquery.min.js' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

そうしないと、ページのコンテンツ全体がscriptタグのコンテンツとして扱われ、空白で表示されます。

于 2014-09-20T23:22:29.817 に答える