sis*_*sko 3 include symfony twig twitter-bootstrap
我的 Symfony 应用程序有一个 defaultBundle,它成功加载了 default.html.twig。
\n\n我试图将 navbar.html.twig 的内容包含到 default.html.twig 中。以下代码是我尝试包含导航栏代码:
\n\n{% block body %}\n\n {% include (\'navbar.html.twig\') %} <!-- this generates the error -->\n\n <div class=\'content\'>\n {{ include(\'@Stock/StockController/create.html.twig\') }} <!-- this works-->\n {{ include(\'@Sales/Sales/add.html.twig\') }} <!-- this works -->\n </div>\n\n{% endblock %}\nRun Code Online (Sandbox Code Playgroud)\n\ndefault.html.twig 和 navbar.hmtl.twig 都位于同一目录中,因此我认为上面的包含代码应该可以工作,但出现以下错误:
\n\n\n\n\n无法在 ::base.html.twig 第 10 行\n 处找到模板“@navbar.html.twig”。
\n
我的 Symfony 技能还不是很敏锐,所以我不确定与 base.html.twig 的联系是什么。我该如何解决这个问题?
\n\n附:
\n\n以防万一,导航栏代码来自 BootStrap,如下所示:
\n\n <nav class="navbar navbar-default">\n <div class="container-fluid">\n <!-- Brand and toggle get grouped for better mobile display -->\n <div class="navbar-header">\n <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">\n <span class="sr-only">Toggle navigation</span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </button>\n <a class="navbar-brand" href="#">Brand</a>\n </div>\n\n <!-- Collect the nav links, forms, and other content for toggling -->\n <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">\n <ul class="nav navbar-nav">\n <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>\n <li><a href="#">Link</a></li>\n <li class="dropdown">\n <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>\n <ul class="dropdown-menu" role="menu">\n <li><a href="#">Action</a></li>\n <li><a href="#">Another action</a></li>\n <li><a href="#">Something else here</a></li>\n <li class="divider"></li>\n <li><a href="#">Separated link</a></li>\n <li class="divider"></li>\n <li><a href="#">One more separated link</a></li>\n </ul>\n </li>\n </ul>\n <form class="navbar-form navbar-left" role="search">\n <div class="form-group">\n <input type="text" class="form-control" placeholder="Search">\n </div>\n <button type="submit" class="btn btn-default">Submit</button>\n </form>\n <ul class="nav navbar-nav navbar-right">\n <li><a href="#">Link</a></li>\n <li class="dropdown">\n <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>\n <ul class="dropdown-menu" role="menu">\n <li><a href="#">Action</a></li>\n <li><a href="#">Another action</a></li>\n <li><a href="#">Something else here</a></li>\n <li class="divider"></li>\n <li><a href="#">Separated link</a></li>\n </ul>\n </li>\n </ul>\n </div><!-- /.navbar-collapse -->\n </div><!-- /.container-fluid -->\n</nav>\nRun Code Online (Sandbox Code Playgroud)\n\n感谢所有提出答案的人。我更新了我的代码以显示来自其他有效捆绑包的包含语句。令人担忧的是,我在发布问题之前和之后尝试了几乎所有建议。仍然距离解决这个问题还很远。
\n\n以下是我的包视图目录的树结构,显示了我的 2 个模板与其父目录的关系:
\n\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Controller\n\xe2\x94\x82\xc2\xa0\xc2\xa0\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 DefaultController.php\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 DeckBundle.php\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 DependencyInjection\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Configuration.php\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 DeckExtension.php\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Resources\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 routing.yml\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 services.yml\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 doc\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.rst\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 public\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.rb\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config.rb\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 sass\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ie.scss\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 default.scss\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 print.scss\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 screen.scss\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 stylesheets\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ie.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 default.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 print.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 screen.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 images\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 js\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 maindeck.js\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 translations\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 messages.fr.xlf\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Default\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 default.html.twig\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 navbar.html.twig\nRun Code Online (Sandbox Code Playgroud)\n
你不需要使用@. 您可以包含这样的模板
{% include('navbar.html.twig') %}
Run Code Online (Sandbox Code Playgroud)
或者像这样
{% include('DefaultBundle::navbar.html.twig') %}
Run Code Online (Sandbox Code Playgroud)
更新
更新#2
{% include('::navbar.html.twig') %}
Run Code Online (Sandbox Code Playgroud)
更新#3
根据您显示的结构,您需要包含文件夹名称:
{% include('DefaultBundle:Default:navbar.html.twig') %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14036 次 |
| 最近记录: |