Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony2-从子视图将javascript发送到页面底部_Symfony_Twig - Fatal编程技术网

Symfony2-从子视图将javascript发送到页面底部

Symfony2-从子视图将javascript发送到页面底部,symfony,twig,Symfony,Twig,7.6我想在从base.html.twig加载JAVSCRIPTS之后加载子视图中包含的javascript文件 <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- Meta, title, CSS, favicons, etc.

7.6我想在从base.html.twig加载JAVSCRIPTS之后加载子视图中包含的javascript文件

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <!-- Meta, title, CSS, favicons, etc. -->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Benerite | {% block page_title %}{% endblock %}</title>

        {% stylesheets
            'assets/bower_components/jquery-ui/themes/cupertino/jquery-ui.min.css'
            'assets/gentelella-master/css/bootstrap.min.css'
            filter='cssrewrite' output='css/compiled/app.css' %}
        <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}

        <!--[if lt IE 9]>
        <script src="../assets/js/ie8-responsive-file-warning.js"></script>
        <![endif]-->

        <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>

    <body class="nav-md">
        <div class="container body">

            <div class="main_container">
                {{ include('::_navigation.html.twig') }}
                {{ include('::_topnav.html.twig') }}

                <!-- page content -->
                <div class="right_col" role="main">{% block body %}{% endblock %}</div>
                <!-- /page content -->

                <!-- footer content -->
                <footer>
                    <div class="">
                        <p class="pull-right">
                            <span class="lead"> <i class="fa fa-database"></i> Benerite</span>
                        </p>
                    </div>
                </footer>
                <!-- /footer content -->                
            </div>                
        </div>

        <div id="custom_notifications" class="custom-notifications dsp_none">
            <ul class="list-unstyled notifications clearfix" data-tabbed_notifications="notif-group"></ul>
            <div class="clearfix"></div>
            <div id="notif-group" class="tabbed_notifications"></div>
        </div>

        {% javascripts
            'assets/bower_components/jquery/dist/jquery.min.js'
            'assets/bower_components/jquery-ui/jquery-ui.min.js'
            output='js/compiled/main.js'
        %}
        <script src="{{ asset_url }}"></script>
        {% endjavascripts %}
    </body>
</html>
<html>
<head>
    ...
    {% block stylesheets %}
        {% stylesheets ... %}...{% endstylesheets %}
    {% endblock %}
    ...
</head>
<body>
    ...
    {% block body %}{% endblock %}
    {% block javascripts %}
        {% javascripts ... %}...{% endjavascripts %}
    {% endblock %}
</body>
</html>
{% extends 'base.html.twig' %}

{% block body %}
    inner content
{% endblock %}

{% block stylesheets %}
    {{ parent() }}
    {% stylesheets additional styles %}...{% endstylesheets %}
{% endblock %}

{% block javascripts %}
    {{ parent() }}
    {% javascripts additional scripts %}...{% endjavascripts %}
{% endblock %}
例如,下面是我的base.html.twig

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <!-- Meta, title, CSS, favicons, etc. -->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Benerite | {% block page_title %}{% endblock %}</title>

        {% stylesheets
            'assets/bower_components/jquery-ui/themes/cupertino/jquery-ui.min.css'
            'assets/gentelella-master/css/bootstrap.min.css'
            filter='cssrewrite' output='css/compiled/app.css' %}
        <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}

        <!--[if lt IE 9]>
        <script src="../assets/js/ie8-responsive-file-warning.js"></script>
        <![endif]-->

        <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>

    <body class="nav-md">
        <div class="container body">

            <div class="main_container">
                {{ include('::_navigation.html.twig') }}
                {{ include('::_topnav.html.twig') }}

                <!-- page content -->
                <div class="right_col" role="main">{% block body %}{% endblock %}</div>
                <!-- /page content -->

                <!-- footer content -->
                <footer>
                    <div class="">
                        <p class="pull-right">
                            <span class="lead"> <i class="fa fa-database"></i> Benerite</span>
                        </p>
                    </div>
                </footer>
                <!-- /footer content -->                
            </div>                
        </div>

        <div id="custom_notifications" class="custom-notifications dsp_none">
            <ul class="list-unstyled notifications clearfix" data-tabbed_notifications="notif-group"></ul>
            <div class="clearfix"></div>
            <div id="notif-group" class="tabbed_notifications"></div>
        </div>

        {% javascripts
            'assets/bower_components/jquery/dist/jquery.min.js'
            'assets/bower_components/jquery-ui/jquery-ui.min.js'
            output='js/compiled/main.js'
        %}
        <script src="{{ asset_url }}"></script>
        {% endjavascripts %}
    </body>
</html>
<html>
<head>
    ...
    {% block stylesheets %}
        {% stylesheets ... %}...{% endstylesheets %}
    {% endblock %}
    ...
</head>
<body>
    ...
    {% block body %}{% endblock %}
    {% block javascripts %}
        {% javascripts ... %}...{% endjavascripts %}
    {% endblock %}
</body>
</html>
{% extends 'base.html.twig' %}

{% block body %}
    inner content
{% endblock %}

{% block stylesheets %}
    {{ parent() }}
    {% stylesheets additional styles %}...{% endstylesheets %}
{% endblock %}

{% block javascripts %}
    {{ parent() }}
    {% javascripts additional scripts %}...{% endjavascripts %}
{% endblock %}

Benerite{%block page_title%}{%endblock%}
{%样式表
'assets/bower\u components/jquery ui/themes/cupertino/jquery ui.min.css'
'assets/gentelella master/css/bootstrap.min.css'
filter='cssrewite'输出='css/compiled/app.css%}
{%endstylesheets%}
{{include('::navigation.html.twig')}
{{include('::topnav.html.twig')}
{%block body%}{%endblock%}

贝尼特

    {%javascripts 'assets/bower\u components/jquery/dist/jquery.min.js' 'assets/bower\u components/jquery ui/jquery ui.min.js' output='js/compiled/main.js' %} {%endjavascripts%}
    这是我的子表单,在它的末尾包含了一个js文件

    {% extends '::base.html.twig' %}
    
    {% block body -%}
        <h1>Privilege edit</h1>
    
        {{ form(edit_form) }}
    
            <ul class="record_actions">
        <li>
            <a href="{{ path('privilege') }}">
                Back to the list
            </a>
        </li>
        <li>{{ form(delete_form) }}</li>
    </ul>
    <script src="{{my_custom_js file}}"></script>
    
    {% endblock %}
    
    {%extends'::base.html.twig%}
    {%块体-%}
    权限编辑
    {{表格(编辑表格)}
    
    • {{表格(删除表格)}
    {%endblock%}
    加载页面时,我希望在base.html.twig中包含的js文件之后呈现js文件

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <!-- Meta, title, CSS, favicons, etc. -->
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1">
    
            <title>Benerite | {% block page_title %}{% endblock %}</title>
    
            {% stylesheets
                'assets/bower_components/jquery-ui/themes/cupertino/jquery-ui.min.css'
                'assets/gentelella-master/css/bootstrap.min.css'
                filter='cssrewrite' output='css/compiled/app.css' %}
            <link rel="stylesheet" href="{{ asset_url }}" />
            {% endstylesheets %}
    
            <!--[if lt IE 9]>
            <script src="../assets/js/ie8-responsive-file-warning.js"></script>
            <![endif]-->
    
            <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
            <!--[if lt IE 9]>
              <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
              <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
            <![endif]-->
        </head>
    
        <body class="nav-md">
            <div class="container body">
    
                <div class="main_container">
                    {{ include('::_navigation.html.twig') }}
                    {{ include('::_topnav.html.twig') }}
    
                    <!-- page content -->
                    <div class="right_col" role="main">{% block body %}{% endblock %}</div>
                    <!-- /page content -->
    
                    <!-- footer content -->
                    <footer>
                        <div class="">
                            <p class="pull-right">
                                <span class="lead"> <i class="fa fa-database"></i> Benerite</span>
                            </p>
                        </div>
                    </footer>
                    <!-- /footer content -->                
                </div>                
            </div>
    
            <div id="custom_notifications" class="custom-notifications dsp_none">
                <ul class="list-unstyled notifications clearfix" data-tabbed_notifications="notif-group"></ul>
                <div class="clearfix"></div>
                <div id="notif-group" class="tabbed_notifications"></div>
            </div>
    
            {% javascripts
                'assets/bower_components/jquery/dist/jquery.min.js'
                'assets/bower_components/jquery-ui/jquery-ui.min.js'
                output='js/compiled/main.js'
            %}
            <script src="{{ asset_url }}"></script>
            {% endjavascripts %}
        </body>
    </html>
    
    <html>
    <head>
        ...
        {% block stylesheets %}
            {% stylesheets ... %}...{% endstylesheets %}
        {% endblock %}
        ...
    </head>
    <body>
        ...
        {% block body %}{% endblock %}
        {% block javascripts %}
            {% javascripts ... %}...{% endjavascripts %}
        {% endblock %}
    </body>
    </html>
    
    {% extends 'base.html.twig' %}
    
    {% block body %}
        inner content
    {% endblock %}
    
    {% block stylesheets %}
        {{ parent() }}
        {% stylesheets additional styles %}...{% endstylesheets %}
    {% endblock %}
    
    {% block javascripts %}
        {{ parent() }}
        {% javascripts additional scripts %}...{% endjavascripts %}
    {% endblock %}
    

    我的问题有什么解决办法吗??请帮助我

    在基本模板中,您有两个块,基本和Java脚本。 在
    javascripts
    块之后再创建一个类似于
    childs\u javascripts
    的东西。 在childe模板中,只需像使用block
    body一样使用
    childs\u javascripts

    {% block childs_javascripts %}
    <script src="{{my_custom_js file}}"></script>
    {% endblock %}
    
    {%block childs\u javascripts%}
    {%endblock%}
    
    覆盖块并使用
    parent()
    twig函数调用父块

    base.html.twig

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <!-- Meta, title, CSS, favicons, etc. -->
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1">
    
            <title>Benerite | {% block page_title %}{% endblock %}</title>
    
            {% stylesheets
                'assets/bower_components/jquery-ui/themes/cupertino/jquery-ui.min.css'
                'assets/gentelella-master/css/bootstrap.min.css'
                filter='cssrewrite' output='css/compiled/app.css' %}
            <link rel="stylesheet" href="{{ asset_url }}" />
            {% endstylesheets %}
    
            <!--[if lt IE 9]>
            <script src="../assets/js/ie8-responsive-file-warning.js"></script>
            <![endif]-->
    
            <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
            <!--[if lt IE 9]>
              <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
              <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
            <![endif]-->
        </head>
    
        <body class="nav-md">
            <div class="container body">
    
                <div class="main_container">
                    {{ include('::_navigation.html.twig') }}
                    {{ include('::_topnav.html.twig') }}
    
                    <!-- page content -->
                    <div class="right_col" role="main">{% block body %}{% endblock %}</div>
                    <!-- /page content -->
    
                    <!-- footer content -->
                    <footer>
                        <div class="">
                            <p class="pull-right">
                                <span class="lead"> <i class="fa fa-database"></i> Benerite</span>
                            </p>
                        </div>
                    </footer>
                    <!-- /footer content -->                
                </div>                
            </div>
    
            <div id="custom_notifications" class="custom-notifications dsp_none">
                <ul class="list-unstyled notifications clearfix" data-tabbed_notifications="notif-group"></ul>
                <div class="clearfix"></div>
                <div id="notif-group" class="tabbed_notifications"></div>
            </div>
    
            {% javascripts
                'assets/bower_components/jquery/dist/jquery.min.js'
                'assets/bower_components/jquery-ui/jquery-ui.min.js'
                output='js/compiled/main.js'
            %}
            <script src="{{ asset_url }}"></script>
            {% endjavascripts %}
        </body>
    </html>
    
    <html>
    <head>
        ...
        {% block stylesheets %}
            {% stylesheets ... %}...{% endstylesheets %}
        {% endblock %}
        ...
    </head>
    <body>
        ...
        {% block body %}{% endblock %}
        {% block javascripts %}
            {% javascripts ... %}...{% endjavascripts %}
        {% endblock %}
    </body>
    </html>
    
    {% extends 'base.html.twig' %}
    
    {% block body %}
        inner content
    {% endblock %}
    
    {% block stylesheets %}
        {{ parent() }}
        {% stylesheets additional styles %}...{% endstylesheets %}
    {% endblock %}
    
    {% block javascripts %}
        {{ parent() }}
        {% javascripts additional scripts %}...{% endjavascripts %}
    {% endblock %}