Twig 需要上下文的细枝函数
我需要在我的函数的Twig 需要上下文的细枝函数,twig,slim,Twig,Slim,我需要在我的函数的needs\u context中获取current\u页面。 它工作正常,但需要\u上下文保持为空 我的类助手扩展\Twig\u扩展 class Helpers extends \Twig_Extension { public function getName() { return 'Helpers'; } public function getFunctions() { return [ new \Twig_SimpleFunction('
needs\u context
中获取current\u页面。
它工作正常,但需要\u上下文
保持为空
我的类助手扩展\Twig\u扩展
class Helpers extends \Twig_Extension {
public function getName() {
return 'Helpers';
}
public function getFunctions() {
return [
new \Twig_SimpleFunction('activeClass', [
$this,
'activeClass'
], [
'needs_context' => true
])
];
}
public function activeClass($context, $page) {
if (isset($context['current_page']) && $context['current_page'] === $page){
return ' active ';
}
}
在我的.twig文件中
我希望使用此函数可以为导航栏中的当前href返回active
类。我使用SlimV3和他的扩展细枝视图
谢谢你的帮助。我解决了这个问题。
因为我使用了一个细枝的扩展来表示纤细和没有细枝,这是不同的。
通常,我们使用needs\u context
来提取当前页面的值。
但是对于Slim PHP的Twig视图,我们可以使用{%if is_current_path('your_page')%%}class=“active”{%endif%}
衷心感谢@martias和@DarkBee的帮助 什么是当前页面?你说needs\u context
保持为空是什么意思?Hi@martias 1)current\u page
是needs\u context
数组中的一个键,它返回当前页面。2) 如果我执行vardump($context)
,它将不返回任何内容。谢谢,教授,我还是不太明白你想做什么。我认为needs\u context
不是数组,而是一个值为true
或false
的选项。它告诉Twig函数(activeClass
)是否需要访问函数中的当前上下文。如果var\u dump($context)
不显示任何内容,那么当前页面
存储在哪里?另外,在{{activeClass('foo')}
中的'foo'
是什么?1)你是对的,需要的上下文不是数组。但是,如果它为true,则在callaback中返回一个数组。在这个数组中,我们有键current\u page
,它返回我们网站的当前页面。2) foo
是我的函数activeClass中参数$name的值。如果需要,请参阅我下面的教程。对不起,这是法语的,但你更容易理解我的意思。为了更清楚,我编辑了我的主要帖子。很高兴你解决了这个问题!确保选择您的答案作为解决方案。:-)您还可以执行{{is_current_path('your_page')?'class=“active”}}
。它与{{is_current_path('your_page')?'class=“active':''}}
相同。