代码之家  ›  专栏  ›  技术社区  ›  trh88

php获取路径和所有子路径(drupal)

  •  0
  • trh88  · 技术社区  · 14 年前

    我在Drupal中有一个硬编码菜单(因为它对于Drupal中的标准菜单系统来说太复杂了)。

    我想说:如果此页包含在/about/目录中,请应用类“active”,以便在此目录中创建的所有新页自动突出显示当前节。

    目前我有:

    $current_page = $_SERVER['REQUEST_URI'];
    
    <ul class="main">
      <li class="home"><a href="<?php echo $base_path?>">Home</a></li>
      <li class="about 
      <?php if ($current_page == "/xxxxxxx.com/dev/about/") 
      {
          echo "active";
      }
      ?>"><a href="javascript:void(0)">About</a></li>
      <li class="services"><a href="javascript:void(0)">Services</a></li>
      <li class="work"><a href="javascript:void(0)">Work</a></li>
      <li class="awards"><a href="javascript:void(0)">Awards</a></li>
      <li class="environment"><a href="javascript:void(0)">Environment</a></li>
      <li class="contact"><a href="javascript:void(0)">Contact</a></li>
    </ul>
    

    我尝试了一些strpos和explode的变化来获得正确的变量,但是到目前为止还没有运气。

    谢谢:)

    3 回复  |  直到 14 年前
        1
  •  0
  •   Frode    14 年前

    $current_page

    if (strpos($current_page, '/about') !== false) echo "active";
    

        2
  •  0
  •   ya.teck    14 年前

    arg

    function real_arg($index = NULL) {
      $ofset = strlen(base_path());
      $q = explode('?', substr($_SERVER['REQUEST_URI'], $ofset));
      $q = explode('/',  trim($q[0], '/'));
    
      return isset($index) ? $q[$index] : $q;
    }
    

    if(real_arg(0) == 'about') echo 'active';