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

标签 php html css show-hide sidebar

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

概览.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>";
        }
    }
?>
  • overview.php: print_all_sidebar_links_except_self();
  • hotel1.php: print_all_sidebar_links_except_self('hotel1');
  • hotel2.php: print_all_sidebar_links_except_self('hotel2');
  • hotel3.php: print_all_sidebar_links_except_self('hotel3');

关于php - 根据页面隐藏侧边栏上的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724807/

相关文章:

php - 在 WIndows Apache 2.4 中安装 casperJS 和 phantomJS 向 PHP 传递数据

php - Laravel 5 路由中的多个可选参数

html - CSS:如何使自定义文件上传按钮占据全宽(按钮有效)

css - 如何 Over ride youtube 外部样式?

javascript - 我如何判断元素是否使用 Javascript 或工具建立了新的 block 格式化上下文?

Javascript 切换 : Hide div on click of anywhere

php - Laravel 4 迁移 :rollback with --path on artisan CLI

php - 将 session 变量存储从全部更改为个人后,登录表单不起作用

Javascript 使用鼠标悬停类来影响子 ID

javascript - 待办事项列表 JavaScript