Я делаю сайт только с php. Чтобы облегчить обновление верхнего и нижнего колонтитулов, я создал файл master.php
с таким содержимым:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=1, user-scalable=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../images/a-master-favicon.ico" alt="a-master-favicon" >
<title>Testing site</title>
<link href="assets/css/sticky-footer-navbar.css" rel="stylesheet"/>
<link rel="stylesheet" href="assets/css/head_footer.css" />
</head>
<body>
<?php $signed_request = $_POST['signed_request']; ?>
<?php if(empty($signed_request)): ?>
<?php include('header.php'); ?>
<?php else: ?>
<div id="eatSpace" style="margin-bottom: -175px;"></div>
<?php endif; ?>
<?php include($content); ?>
<?php if(empty($signed_request)): ?>
<?php include('footer.php'); ?>
<?php endif; ?>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.easing.1.3.js"></script>
<script src="js/jquery.animate-enhanced.min.js"></script>
</body>
</html>
Прежде всего, часть $signed_request
предназначена для того, чтобы я мог показывать определенный контент, когда он загружен через Facebook, это не проблема.
Проблема в том, что моя структура папок выглядит следующим образом:
root
|
|--assets
| |
| |--css
| |--js
|
|--faqs
| |
| |--faqs-content.php
| |--index.php
|
|
|--footer.php
|--header.php
|--index-content.php
|--index.php
|--master.php
Итак, когда я звоню сказать, index.php
, это выглядит так:
<?php
$content = 'index-content.php';
include('master.php');
Это, в свою очередь, вызывает master.php
и загружает весь сайт.
Однако, если я попытаюсь сделать то же самое в другом каталоге (т.е. faqs/
) и позвоню туда index.php
, тогда код будет выглядеть немного иначе:
<?php
$content = 'faqs-content.php';
include('../master.php');
Это загружает все просто отлично, кроме загрузок css или js вообще, потому что путь в основном файле находится в другом каталоге. Как я могу преодолеть это?
Это первый раз, когда я делаю что-то подобное, поэтому я не уверен, что то, что я сделал, является даже лучшим способом сделать это.