我正在使用Symfony和Twig,我找不到下一个问题的解决方案:在我的父模板(index.html.twig)中我有这样的代码:
<noscript>
{% block noscript %}
<div class="alert alert-warning">
<strong>{% block notice %}{{ notice_js_disabled }}{% endblock %} </strong>
{% block message %}{{ js_disabled }}{% endblock %}
</div>
{% endblock %}
</noscript>
Run Code Online (Sandbox Code Playgroud)
我有子模板(category.html.twig),它扩展了index.html.twig模板.
我可以将{{ notice_js_disabled }}
var的值从索引模板传递到类别模板吗?
notice_js_disabled
从我的Symfony indexAction控制器返回.
UPD: 我创建的问题的解决方案,接下来:我已经创建了一个名为main.html.twig的基本模板,我从控制器渲染元素:
{% block header %}
{{ render(controller('StoreBundle:Header:index')) }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
然后,在我的index.html.twig文件中,我做了下面的事情:
{% extends 'Store/tpl/main.html.twig' %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
<p class="currentPage" hidden>home</p>
{{ parent() …
Run Code Online (Sandbox Code Playgroud) 我在我的网站上使用intlTelInput.如何使用括号分隔拨号代码.对于前者 这个插件的默认输出是+ 1202someNumber,我需要(+ 1)202someNum?
我的 Symfony 应用程序中有一个Event
带有参数的实体。参数可以为空且不是必需的,因此,如果缺少该参数,则链接到使用 构建的单个事件页面。但是,如果设置了,则使用此参数构建 url。id
slug
slug
id
slug
任务是为具有 slug 的事件创建 301 重定向。我正在尝试使用 symfony 方法redirect()
,但遇到了一个问题:当我第一次设置 slug 时,它工作正常并将我从 url 替换event/3
为event/my-event-slug
. 但是,当我删除 slug 或更改它时,浏览器仍然将我重定向到提供的第一个 slug。
我在 Chrome 控制台中检查它,它向我显示我的重定向 301 是从缓存加载的。
如何防止将重定向保存到缓存,或者如何在控制器中以其他方式解决此问题?
我的项目中有composer.phar文件放在一个文件夹中project/web/install
,一个composer.json
文件放在中project/composer.json
。我如何在我的shell脚本文件中指定composer.json文件的路径,该文件也位于project/web/install
我正在编写自己的项目并想使用一些 Symfony 组件。我正在为我的项目实施 Sf 路由器,但我不明白如何在路由器中调用控制器。
对于前我有一个类:
<?php
namespace App;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\Routing\Loader\YamlFileLoader;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\HttpFoundation as Http;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
class AppRouter
{
public function match() {
$context = new RequestContext();
$request = Http\Request::createFromGlobals();
$context->fromRequest($request);
$matcher = new UrlMatcher($this->getRoutes(), $context);
return $matcher->matchRequest($request);
}
private function getRoutes() {
$fileLocator = new FileLocator([__DIR__ . '/../config']);
$loader = new YamlFileLoader($fileLocator);
$routes = $loader->load('routes.yml');
return $routes;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一些定义的路由,routes.yml
所以如果我尝试去注册路由match()
方法返回给我一个如下所示的数组:
[
"_controller" => "Controller\\MyController::testAction"
"_route" => …
Run Code Online (Sandbox Code Playgroud)