0

次の設定のWebサイトがあります。

overview.php hotel1.php hotel2.php hotel3.php

概要には、ホテル 1、2、3 へのリンクを含むサイドバーがあり、各ホテル ページには、概要ページと一緒に他の 2 つのホテル (それ自体を除く) へのリンクを含むサイドバーがあります。

現時点では、各 php ページのサイドバーをハードコーディングしています。これらはすべてわずかに異なるためです。

4 つのページのそれぞれへのリンクを含む別のファイル (sidebar.php) に 1 つのサイドバーをコーディングし、php include() 関数を使用してサイドバーを追加する方法があるかどうか疑問に思っています。

次に、ページ (識別子を持つ) に応じて、それ自体へのリンクを除くすべてのリンクを表示します。

問題は、それを行う方法がわからない、またはできるかどうかです。

サイトはphpとhtml(cssとjavascript付き)です。

関連する場合は、概要を含む約 100 のフォルダーと、これを実装したい複数のホテルがあります。

4

1 に答える 1

2

これを行う最も簡単な方法は、サイドバー コードを関数でラップすることです。

サイドバー.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();
  • 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');
于 2013-09-10T17:09:40.560 に答える