Не определено 1 Symfony Twig_Error_Runtime - PullRequest
0 голосов
/ 25 сентября 2018

Я пытался расширить шаблон веточки следующим образом:

{% extends 'OpenSkedgeBundle:Dashboard:index.html.twig' %}
{% block modulecontent %}
  <ul id="Groups">
            {% for entity in entities %}
                <li>{{ entity.groupwork }}</a></li>
            {% endfor %}
   </ul>
{% endblock %}

Я называю представление следующим образом:

return $this->render('OpenSkedgeBundle:GroupWork:view.html.twig', array(
                    'entities' => $entity,
        ));

Согласно трассировке стека:

  • в Twig_Template-> displayWithErrorHandling (массив ('entity' => массив (объект (GroupWork), объект (GroupWork), объект (GroupWork)),
    'сборка' =>массив ('debug' => true, 'vars' => объект (ValueContainer), 'use_controller' => true), 'app' => объект (AppVariable),
    'deploy_commit' => ''), массив('modulecontent' =>
    array (object (__ TwigTemplate_5759d43e3302350280503ee495baef2b7320e0a944bb3e9ca5ba21b179072690), 'block_modulecontent'))) в /home/tenga/Documents/app.cx.строка 5307

    в Twig_Template-> display (массив ('entity' => array (object (GroupWork), object (GroupWork), object (GroupWork)))) в / home / tenga / Documents / OpenSkedge-1.2.x-dev / app / cache / dev / classes.php
    строка 5314 По данным это похоже на base.html.twig
    неисправен:

Вот base.html.twig

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>{% block title %}{{ app_brand_name() }} - {{ get_controller_name()|capitalize }} {% if get_action_name() != 'index' and get_action_name() != 'view' %}- {{ get_action_name()|capitalize }}{% endif %}{% endblock %}</title>
        <link rel="icon" href="{{ asset('favicon.ico') }}" type="image/x-icon" />
        <link href="//fonts.googleapis.com/css?family=Lato:400,700,400italic" rel="stylesheet" type="text/css" />
        <link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ asset('css/bootstrap-todc.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ asset('css/bootstrap-responsive.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ asset('css/select2-todc.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ asset('css/application.css') }}" rel="stylesheet" type="text/css" />
        {% spaceless %}{% block stylesheets %}{% endblock %}{% endspaceless %}
    </head>
    <body>
        {% block content %}{% endblock %}
        <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
        <!--[if lt IE 9]>
        <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script>
        <script src="{{ asset('js/bootstrap.min.js') }}"></script>
        <script src="{{ asset('js/jquery.tablesorter.min.js') }}"></script>
        <script src="{{ asset('js/jquery.tablesorter.widgets.min.js') }}"></script>
        <script src="{{ asset('js/select2.min.js') }}"></script>
        <script src="{{ asset('js/application.js') }}"></script>
        {% spaceless %}{% block javascripts %}{% endblock %}{% endspaceless %}
        <footer>
            <div class="container-fluid">
                <p class="muted credit">Powered by <a href="http://www.openskedge.org"><i class="openskedge-logo-blue"></i>OpenSkedge</a> &middot; Copyright &copy; 2012-{{ "now"|date("Y") }} OpenSkedge contributors &middot; Licensed under the GNU GPL version 3 &middot; <a href="https://github.com/maxfierke/OpenSkedge/issues">Report a bug</a> <small class="muted pull-right text-right">{% if deploy_commit != null %}commit {{ deploy_commit }}{% endif %}</small><div class="clearfix"></div></p>
            </div>
        </footer>
    </body>
</html>

В строке 7 я могу только эти переменные ветки, в основном связанные со стилем веб-страницы.

В соответствии с этим в:

src / OpenSkedge / AppBundle / Twig / Extension / PageExtension.php в строке 45

$matches = array();
        preg_match($pattern, $this->request->get('_controller'), $matches);
        return strtolower($matches[1]);
    }

Сбойв матче $pattern = "#Controller\\\([a-zA-Z]*)Controller#";

я выяснил, почему он не работает: потому что он должен вернуть контроллер как OpenSkedge \ AppBundle \ Controller \ UserController :: viewAction

вместоиз OpenSkedgeBundle: GroupWork: просмотр

Мой вопрос, как мне изменить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...