根据页面隐藏边栏上的内容


Hide content on a sidebar depending on the page

我有一个具有以下设置的网站:

概述.php酒店1.php酒店2.php酒店3.php

其中概览有一个侧边栏,其中包含指向酒店 1、2 和 3 的链接,每个酒店页面都有一个侧边栏,其中包含指向其他两家酒店(不包括自身)的链接以及概述页面。

目前,我正在对每个php页面中的侧边栏进行硬编码,因为它们都略有不同。

我想知道是否有办法在单独的文件(sidebar.php)中编写一个侧边栏,其中包含指向四个页面中每个页面的链接,并使用 php include() 函数添加侧边栏。

然后,根据页面(将具有标识符),显示所有链接,但指向自身的链接除外。

问题是,我不确定该怎么做,或者是否可以做到。

该网站是php和html(带有css和javascript)。

如果相关,我有大约 100 个文件夹包含概述,然后是我想在多个酒店上实施的。

最简单的方法是将侧边栏代码包装在函数中。

侧边栏.php

<?php
    function print_all_sidebar_links_except_self($self = NULL){
        $hotels_text = array(
            "hotel1" => "Gryffindor Tower",
            "hotel2" => "Ravenclaw Tower",
            "hotel3" => "Slytherin Dungeons"
        );
        if (isset($self)){
            unset($hotels_text[$self]);
        }
        foreach ($hotels_text as $page => $name){
            echo "<a href='".$page.".php'>".$name."</a>";
        }
    }
?>
  • 概述.php: print_all_sidebar_links_except_self() ;
  • 酒店1.php: print_all_sidebar_links_except_self('hotel1');
  • 酒店2.php: print_all_sidebar_links_except_self('hotel2');
  • 酒店3.php: print_all_sidebar_links_except_self('hotel3');