如何创建一个不需要编码员维护的灵活的 nav.php

发布于 2024-10-04 16:39:55 字数 284 浏览 2 评论 0原文

我找到了一个我喜欢的链接:User-Friendly Contextual Navigation with Simple PHP Includes http:// Brainstormsandraves.com/archives/2006/09/27/navigation/

但那里的东西是硬编码的。怎样才能让事情变得更容易呢? 如果您有疑问,请告诉我。

I found a link I like: User-friendly Contextual Navigation with Simple PHP Includes http://brainstormsandraves.com/archives/2006/09/27/navigation/

But things there are hard-coded. How can things be made easier?
Let me know if you have questions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

挖鼻大婶 2024-10-11 16:39:55

像这样的解决方案可能会很好:

在一个新文件中,定义一个数组:
$pages = array( '主页' => '/index.php', '新闻' => '/news.php' );

然后是打印菜单的函数

function print_menu() {
  foreach($pages as $name=>$url) {
    if ($_SERVER['REQUEST_URI'] == $url) print $name;
    else print '<a href="'.$url.'">'.$name.'</a>';
  }
}

A solution like this might be good:

In a new file, define an array:
$pages = array( 'Home' => '/index.php', 'News' => '/news.php' );

Then a function that prints the menu

function print_menu() {
  foreach($pages as $name=>$url) {
    if ($_SERVER['REQUEST_URI'] == $url) print $name;
    else print '<a href="'.$url.'">'.$name.'</a>';
  }
}
来日方长 2024-10-11 16:39:55

您可以在客户端使用 javascript 来实现此目的。这更容易,并且不需要在服务器端修改任何代码。
我将在这里使用 jquery -

function OnLoad(){
     // Assuming the links are in the format http://example.com/section/. 
     // I am stripping out the the 4th (3 in the [] below) column when split with /'s 
     location = document.location.href.split("/")[3];
     $('li.menuitems a[href*='+location+']').each( function() {
          $(this).replaceWith($(this).html());
      });
});

我真的需要处理我的 jquery :( 。这只是一个伪代码,我向您保证这是可以实现的
编辑:致力于让jquery正常工作。

代码位于http://pastie.org/1329224< /a> . “关于”的示例页面位于 GoogAppspot

You can achieve this with javascript at clientside. Which is way easier and does not require any modification code at server side.
I am going to use jquery here -

function OnLoad(){
     // Assuming the links are in the format http://example.com/section/. 
     // I am stripping out the the 4th (3 in the [] below) column when split with /'s 
     location = document.location.href.split("/")[3];
     $('li.menuitems a[href*='+location+']').each( function() {
          $(this).replaceWith($(this).html());
      });
});

I really need to work on my jquery :( . This is just a pseudo code and I assure you that this is achievable
Edit: Worked on getting the jquery working..

Code at http://pastie.org/1329224 . Sample page for "about" at GoogAppspot

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文