我需要在current_page
函数中获得needs_context
。
它工作正常,但needs_context
保持空白。
我的班级助手延伸\ Twig_Extension
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文件中
<a href="" class="{{ activeClass('foo') }}">Foo</a>
我希望用这个函数返回导航栏中当前href的active
类。我使用Slim v3和他的扩展名Twig-view。
感谢您的帮助。
答案 0 :(得分:1)
我解决了这个问题。
因为我使用Twig for Slim的延伸而没有Twig,所以它有所不同。
Normaly,我们使用needs_context
来提取current_page
的值。
但是对于Slim PHP的Twig-view,我们可以使用{% if is_current_path('your_page') %}class="active"{% endif %}
真诚地感谢@martias和@DarkBee的帮助。