我有一个具有以下设置的网站:
概览.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/