Можно ли ссылаться на header.php и footer.php из разных источников папок? - PullRequest
0 голосов
/ 16 ноября 2018

Я новичок в PHP. У меня есть несколько веб-страниц, расположенных в разных местах. Так что, если я захочу сделать ссылку на header.php и footer.php с веб-страниц в разных папках, возможно ли это сделать? Как показано на рисунке, мне нужно создать три разные папки, содержащие одинаковые файлы, header.php и footer.php, чтобы иметь возможность ссылаться из трех разных источников. С наилучшими пожеланиями!

enter image description here

Ответы [ 3 ]

0 голосов
/ 16 ноября 2018

Мои извинения за то, что я не предоставил достаточно информации о проблемах.Моя проблема заключается в том, что, когда index.php ссылается на верхний и нижний колонтитулы с помощью «include / header.php» и «includes / footer.php» соответственно, а другие веб-страницы расположены внутри другой папки, которой требуется доступ к папке include через"../includes/header.php".При обращении к файлам проблем нет, но проблема возникает, когда headers.php предназначается для веб-страниц внутри, когда он написан для работы только с index.php.Например, будет работать только с index.php, но не с файлами php внутри нужной папки, но я попробую с $ h_path = '';и $ f_path = '' скоро.

0 голосов
/ 16 ноября 2018

Да, можно использовать один footer.php и один header.php файлы и загружать их в любое время.

Я хотел бы предложить вам создать папку включения, а затем внутри папки включения создать еще одну папку, называемую общей, где вы будете размещать на веб-сайте элементы, которые всегда одинаковы по всему сайту, т. Е. Нижний колонтитул и верхний колонтитул.

тогда я бы также разместил файл функций внутри включений, где я буду размещать функции моего сайта. В этот файл функции включена функция, которую я буду использовать каждый раз, когда захочу использовать файлы header.php и footer.php.

enter image description here

functions.php

<?php

    function loadView($viename,$meta=[]){
        //load footer/header page
        include_once "common/$viename.php";
}

//any other functions

Функция loadView() используется в любое время, когда вы хотите загрузить эти два динамических файла. Эта функция принимает два параметра: 1 необязательный. Первый параметр - это имя представления, которое вы хотите загрузить, - header или footer, затем второй необязательный - мета-информация, важная для файла заголовка, поскольку заголовок страницы и мета-описание должны быть динамическими и изменяться в соответствии с на страницу.

header.php

<!DOCTYPE html>
<html>
<head>
    <title><?=$meta['pagetitle']?><!-- Dynamic page title --></title>
    <meta name="description" content="<?=$meta['pagedescription']?>"><!-- Dynamic description -->

    <!-- load your styles -->
</head>
<body>
    <header>
        <nav>
            <!-- Your page navigation -->
            <ul>
                <li><a href="index.php">Home</a></li>
                <li><a href="about.php">About</a></li>
                <li><a href="anotherpage">Another Page</a>
            </ul>
        </nav>
    </header>

footer.php

<footer>
    footer content

    <p>&copy; website name <?=date('Y')?>
</footer>

</body>
</html>

Основные страницы сайта

Основными страницами вашего сайта являются такие страницы, как указатель, информация о сервисах и т. Д.

На этих страницах вы должны загрузить файл функций, затем сможете загрузить верхний и нижний колонтитулы.

index.php

<?php
    include 'includes/functions.php';

    //meta info
$meta = array(
        'pagetitle' => 'Welcome to my site | site | bla bla',
        'pagedescription' => 'This is your website description'
   );

loadview('header',$meta); //load heade
?>

<section>
    <div id="content">
        <p>Page Content</p>
    </div>

</section>
<?php

    loadview("footer"); //load footer
?>

О странице

<?php
    include 'includes/functions.php';
$meta = array(
        'pagetitle' => 'About Us',
        'pagedescription' => 'This is about page'
   );

loadview('header',$meta);
?>

<section>
    <div id="content">
        <p>Page Content</p>
    </div>

</section>
<!-- load footer -->
<?php

    loadview("footer");
?>

Надеюсь, это даст вам представление о том, как вы могли бы достичь своей цели, есть много способов, которыми вы можете достичь этого.

Дайте мне знать, когда вам понадобится помощь

0 голосов
/ 16 ноября 2018
   Assign values for $h_path and $f_path dynamically.
    <?php 

   $h_path = '';
   $f_path = '';

   include($h_path.'header.php'); 
   include($f_path.'footer.php'); 
   ?>
...