我在设置语言反馈时遇到问题。我想要做的是当我选择一种语言,它保持不同的颜色。我试图解决这个问题,但我做不到。
我是学生,今年我开始编码。我和Twig一起工作,这让我更加困惑。
这是我用于检测语言的php文件
<?php
if(isset($_GET['lng'])){
$lng = $_GET['lng'];
if($lng !== '' && ($lng === 'fr' || $lng === 'en'))
$_SESSION['langue'] = $lng;
}
if(isset($_SESSION['langue'])) $userLang = $_SESSION['langue'];
else $userLang = 'en';
?>
在我写的index.php中
$view->setVar('currentLang', $userLang);
这是我的layout.html.twig
<div id="menulangue">
<a href="index.php?page={{ currentPage }}&lng=fr" title="Français"><div class="btnlanguess {% if currentLang==fr %}active{% endif %}">Français</div></a>
<a href="index.php?page={{ currentPage }}&lng=en" title="English"><div
class="btnlangue {% if currentLang==en %}active{% endif %}">English</div></a>
</div>
和css文件
.active{
color: #F7931E;
}
但它似乎不起作用。
答案 0 :(得分:1)
您应该启用twig
的调试模式,您当前正在针对不存在的变量currentLang
和en
验证fr
。如果您启用了调试,则会收到一些有意义的错误消息,例如
#1 Type Twig_Error_Runtime
#2 Message Variable "fr" does not exist.
#3 At twigfiddle:environment/5HH6HurMWRlkmM1d/twig/main.twig:5
代码应为,
<div id="menulangue">
<a href="index.php?page={{ currentPage }}&lng=fr" title="Français"><div class="btnlanguess {% if currentLang=="fr" %}active{% endif %}">Français</div></a>
<a href="index.php?page={{ currentPage }}&lng=en" title="English"><div class="btnlangue {% if currentLang=="en" %}active{% endif %}">English</div></a>
</div>