2012-04-20 2 views
0

Я уверен, что это довольно простой вопрос для ответа, но я новичок в PHP, поэтому я надеялся, что кто-то поможет мне решить эту проблему.Как удалить привязку с активной страницы навигации с помощью PHP?

У меня есть динамическое меню навигации, которое работает очень хорошо, но я хочу удалить ссылку с текущей страницы в меню.

Вот мой код:

<div id="navigation_menu"> 
    <? 
    foreach($pagedata->menu as $menuitem){ 
     $class = ($menuitem->uri == $requesteduri) ? 'navigation selection' : 'navigation page_select'; 

     ?> 
     <div id="<?=$menuitem->uri?>" class="<?=$class?>"> 
     <img class="nav_icon" src="<?=PROTOCOL?>//<?=DOMAIN?>/img/<?=$menuitem->uri?>.png"> 
     <h1><a href="<?=PROTOCOL?>//<?=DOMAIN?>/<?=$menuitem->uri?>"><?=$menuitem->title?></a></h1> 
     <h2><?=$menuitem->description?></h2> 
     <img class="go" src="<?=PROTOCOL?>//<?=DOMAIN?>/img/go.png"> 
     </div> 
     <?  
    } 
    ?> 
    </div> 

Любая помощь будет принята с благодарностью. Благодаря!

ОБНОВЛЕНО КОД: (это то, что теперь работает для меня)

<div id="navigation_menu"> 
    <? 
    foreach($pagedata->menu as $menuitem){ 
     $class = ($menuitem->uri == $requesteduri) ? 'navigation selection' : 'navigation page_select'; 
     ?> 
     <div id="<?=$menuitem->uri?>" class="<?=$class?>"> 
     <img class="nav_icon" src="<?=PROTOCOL?>//<?=DOMAIN?>/img/<?=$menuitem->uri?>.png"> 
     <h1> 
       <?php if ($menuitem->uri == $requesteduri):?> 
      <?=$menuitem->title;?> 
       <?php else: ?> 
      <a href="<?=PROTOCOL?>//<?=DOMAIN?>/<?=$menuitem->uri?>"><?=$menuitem->title?></a> 
       <?php endif;?> 
       </h1> 
     <h2><?=$menuitem->description?></h2> 
     <img class="go" src="<?=PROTOCOL?>//<?=DOMAIN?>/img/go.png"> 
     </div> 

     <?  
    } 

    ?> 
    </div> 

ответ

2

Я не знаю, что ваш цикл вывода, но вы хотите, чтобы соответствовать вашему имени страницы с menuitem-> Uri. Таким образом, вы получите ваше имя страницы как .. (Надень это вне цикла)

<?php echo base_name($_SERVER['REQUEST_URI']); ?> 

выяснить, что выводит ваш цикл (Поместите это в цикле):

<?php echo $menuitem->uri; ?> 

Тогда вы» d создать если заявление для сравнения текущего в Пункте в меню цикла и запросе страницы, это всего лишь пример:

<h1> 
<?php if (base_name($_SERVER['REQUEST_URI']) == $menuitem->uri):?> 
    <a href="<?=PROTOCOL?>//<?=DOMAIN?>/<?=$menuitem->uri?>"><?=$menuitem->title?></a> 
<?php else: ?> 
    <?=$menuitem->title;?> 
<?php endif;?> 
</h1> 
+0

ОК, я думаю, что я вижу, что вы делаете, но как это УДАЛИТЬ метки привязки? Я изучаю ... – NewWorldOrderly

+1

О, я вижу, что вы хотите УДАЛИТЬ только привязку, позвольте мне отредактировать это. – JREAM

+0

Хорошо, это очень много работает ... но по какой-то причине мои пути ссылок для кнопок навигации приближаются " undefined "вместо имени, которое должно отображать uri. – NewWorldOrderly

0

Поместите условный вокруг якорного текста, чтобы увидеть, если $menuitem->uri равно текущий р URL, доступный из `$ _SERVER ['REQUEST_URI'] перед выдачей тегов привязки.

Смежные вопросы