如何在Twig中获取当前url?

如何在Twig中获取当前url?,twig,slim,Twig,Slim,在一个小树枝模板内,我将进行检查 if url is: http://example.com/search?keyword=test {% set pageTitle = query %} query is test else {% set pageTitle = different %} 我该怎么办 谢谢。是你的朋友。通过composer安装并添加TwigExtension <?php require 'vendor/autoload.php'; $app = new \Sl

在一个小树枝模板内,我将进行检查

if url is: http://example.com/search?keyword=test

{% set pageTitle = query %}  query is test

else

{% set pageTitle = different %}
我该怎么办

谢谢。

是你的朋友。通过composer安装并添加TwigExtension

<?php
require 'vendor/autoload.php';

$app = new \Slim\Slim(array(
    'view' => new \Slim\Views\Twig()
));

$view = $app->view();

$view->parserExtensions = array(
    new \Slim\Views\TwigExtension(),
);
他是你的朋友。通过composer安装并添加TwigExtension

<?php
require 'vendor/autoload.php';

$app = new \Slim\Slim(array(
    'view' => new \Slim\Views\Twig()
));

$view = $app->view();

$view->parserExtensions = array(
    new \Slim\Views\TwigExtension(),
);

要获得当前的slimurl很简单,只需添加一个全局变量。 在我的例子中,我使用PHPDI和Simple

$twig->getEnvironment()->addGlobal('currentUrl',$c->get('request')->getUri());

要获得当前的slimurl很简单,只需添加一个全局变量。 在我的例子中,我使用PHPDI和Simple

$twig->getEnvironment()->addGlobal('currentUrl',$c->get('request')->getUri());

使用Slim v3.8,您可以使用以下代码公开{current_path}变量中的路径:

$container[“view”]=函数($container)使用($menu){
$view=new\Slim\Views\Twig(../templates”);
$basePath=rtrim(str_-ireplace(“index.php”),“,$container[“request”]->getUri()->getBasePath()),“/”;
$view->addExtension(新的Slim\Views\TwigExtension($container[“router”],$basePath));
$view->getEnvironment()->addGlobal(“当前_路径”,$container[“请求”]->getUri()->getPath());
$view->getEnvironment()->addGlobal(“菜单”,$menu);
返回$view;
};

这遵循文档中描述的方法。

对于Slim v3.8,您可以使用以下代码公开{current_path}变量中的路径:

$container[“view”]=函数($container)使用($menu){
$view=new\Slim\Views\Twig(../templates”);
$basePath=rtrim(str_-ireplace(“index.php”),“,$container[“request”]->getUri()->getBasePath()),“/”;
$view->addExtension(新的Slim\Views\TwigExtension($container[“router”],$basePath));
$view->getEnvironment()->addGlobal(“当前_路径”,$container[“请求”]->getUri()->getPath());
$view->getEnvironment()->addGlobal(“菜单”,$menu);
返回$view;
};

这遵循文档中描述的方法。

不适用于我我的请求不同(搜索并尝试所有stackoverflow注释)。您可以从请求对象获取当前url。只需将其传递到模板或使用细枝扩展使其全局化。如何实现?我是twig的新手:(不适用于我我的问题不同(搜索并尝试所有stackoverflow评论)你可以从请求对象获取当前url。只需将其传递到模板或使用twig扩展使其全局化。如何操作?我是twig的新手:(你可以使用
~
操作符进行操作。我改进了我的答案。谢谢你的“http://”~website~“/search?keyword=“~keyword%}?我应该用website替换域?这是一个随机名称。你可以使用任何你喜欢的名称。你可以使用
~
操作符。我改进了我的答案。谢谢你什么是“http://”~website~“/search?keyword=”~keyword%}?我应该用网站替换域名?这是一个随机名称。你可以随意使用。