it-swarm.com.de

Die Variable kann in der IF / Else-Anweisung basierend auf der Seitenklasse nicht aktualisiert werden

Ich versuche, eine Variable in einem Link abhängig von der Seitenklasse dynamisch zu aktualisieren, aber ich kann die Variable ebox scheinbar nicht in der if/else-Anweisung unten aktualisieren.

Derzeit ist die Variable immer 0, so wird es initialisiert. Ich habe den Code implementiert hier und richten Sie Seitenklassen für die Seiten home, about und contact gemäß dem folgenden Code ein.

Der ebox -Wert wird jedoch niemals zum beabsichtigten 1, 2, oder 3.

Irgendwelche Vorschläge, was mir fehlt?

<?php 
$menu  = JFactory::getApplication()->getMenu()->getActive();
$class = $menu->params->get('pageclass_sfx');
?>

<script>
    var pageclass = "'<?php echo $class ;?>'";
    var ebox = 0;
    document.write(pageclass, ebox);

    if (pageclass == "home") {
        ebox = 1;
    } 
    else if (pageclass == "about") {
        ebox = 2;
    }
    else if (pageclass == "contact") {
        ebox = 3;
    }

    document.write('<a class="btn" data-ebox="' + ebox + '" href="#">Menu</a>');
    document.write(pageclass,ebox);
</script>
1
Dtorr1981

Es scheint, dass Ihr pageclass -Wert als 'home' (In einfachen Anführungszeichen) deklariert wird, aber Sie beabsichtigen, dass es home ist. Entfernen Sie einfach die einfachen Anführungszeichen wie folgt:

var pageclass = "<?php echo $class; ?>";

Diese Syntax bietet den gleichen Effekt bei verbesserter Kürze:

var pageclass = "<?=$class?>";

Siehe diesen Beitrag zu PHP Short Tags .

2
Sudhir Sapkal