Подсветка активного пункта навигации

252
01 февраля 2018, 18:57

Есть такой нехитрый код, он обеспечивает подсветку активного пункта навигации:

<?php 
    $file = 'xml/navigation.xml';
    $navigation = simplexml_load_file($file);   
    foreach($navigation->item as $item) {
        $active = ($_SERVER['REQUEST_URI'] == $item['id']) !== false ? ' class="active"' : '';
        echo '<li class="item"><a'. $active . ' href="' . $item['id'] . '">' . $item['title'] . '</a></li>';
    }
?>

Например, site.org/main, site.org/about и т. п. Но, есть ссылки такого плана: site.org/articles?page=2, site.org/articles?page=5 и т. д. Такую глубину (после site.org/articles), скрипт не берёт.

Подскажите, пожалуйста, что можно сделать для реализации?

Answer 1

Как вариант сравнивать url_path

$file = 'xml/navigation.xml';
$navigation = simplexml_load_file($file);    
foreach($navigation->item as $item) {
    $pathRequest = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    $pathItem = parse_url($item['id'], PHP_URL_PATH);
    $active = ($pathRequest == $pathItem) !== false ? ' class="active"' : '';
    echo '<li class="item"><a'. $active . ' href="' . $item['id'] . '">' . $item['title'] . '</a></li>';
}
READ ALSO
binary &#39;-&#39;: no operator found which takes a left-hand operand of type &#39;const CArray&lt;int&gt;::iterator&#39;

binary '-': no operator found which takes a left-hand operand of type 'const CArray<int>::iterator'

У меня выскакивает ошибка при вызове std::sort

286
Безопасность Standart Template Library [требует правки]

Безопасность Standart Template Library [требует правки]

Слышал мнение, что STL сама по себе не безопасна и использовать ее в своих проектах не стоитХочется услышать мнение профессионалов об этом...

240
Стили к собственному виджету - C++ Qt

Стили к собственному виджету - C++ Qt

Всем привет! Столкнулся с такой трудностью:

290
QLabel не заполняется из другого класса

QLabel не заполняется из другого класса

У меня приложение с картой, при нажатии на карту я рисую Waypoint и сохраняю его в мой struct WaypointData

258