如何设置语言反馈?

时间:2017-05-16 08:56:13

标签: php css twig

我在设置语言反馈时遇到问题。我想要做的是当我选择一种语言,它保持不同的颜色。我试图解决这个问题,但我做不到。

我是学生,今年我开始编码。我和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;
}

但它似乎不起作用。

1 个答案:

答案 0 :(得分:1)

您应该启用twig的调试模式,您当前正在针对不存在的变量currentLangen验证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>