Справка по шаблонам PHP - PullRequest
       5

Справка по шаблонам PHP

0 голосов
/ 02 августа 2011

Так что я считаю, что мой предыдущий вопрос был совершенно неверным в том, что я хотелМои извенения.

В любом случае, вот вопрос, который, как мне кажется, ставит мои проблемы: в настоящее время я использую шаблон PHP (я считаю, что это правильная формулировка).Он называется «index.php» и содержит мой макет, а также следующий код, который вызывает содержимое тела, например «О нас», «Контакт» и т. Д., Из каталога с именем / content /.

<?php  
$default = 'index'; //Whatever default page you want to display if the file doesn't exist or you've just arrived to the home page.  
$page = isset($_GET['p']) ? $_GET['p'] : $default; //Checks if ?p is set, and puts the page in and if not, it goes to the default page.  
$page = basename($page); //Gets the page name only, and no directories.  
if (!file_exists('content/'.$page.'.php'))    { //Checks if the file doesn't exist  
    $page = $default; //If it doesn't, it'll revert back to the default page  
    //NOTE: Alternatively, you can make up a 404 page, and replace $default with whatever the page name is. Make sure it's still in the inc/ directory.  
}  
include('content/'.$page.'.php'); //And now it's on your page!  
?>  

Приведенная выше кодировка находится на странице index.php моего шаблона, и это вызывает содержимое тела, как я уже упоминал ранее, такое как «О программе», «Контакт» и т. Д. Теперь индекс страницы моего шаблона.php вызывает страницу по умолчанию index.php из каталога / content.Однако я хочу, чтобы мой основной index.php (а не тот, который вызывался из / content /) имел другой макет, чем остальная часть моего сайта.Как мне достичь этого, все еще имея возможность использовать вышеуказанное кодирование для контента, который использует другой макет?

... Имеет ли это смысл?или я просто болтаю?- Помощь будет очень благодарна.

Ответы [ 3 ]

1 голос
/ 02 августа 2011

Просто сделайте условие:

if ($page == $default) {
    //different layout
}
else {
    ....
}
0 голосов
/ 02 августа 2011

Если я вас правильно понял, вы просто хотите переключить макет из корневого index.php, и если кто-то нажмет на ваши ссылки, вы передадите параметр «p» в корневой index.php, который изменит весь макет, загрузив файлы из папки / content.

<?php  
    if( isset($_GET['p'] ) ) {
        $default = 'index';
        if (!file_exists('content/'.$_GET['p'].'.php')) {  
            $page = $default;
        }
        $page = basename($page);
        include('content/'.$page.'.php'); //And now it's on your page! 

    } else {
            // your root index.php
    }
 ?>  

поместите это в верхнюю часть вашего корневого index.php и создайте свой корневой сайт index.php в другом состоянии.

0 голосов
/ 02 августа 2011

Вся страница выложена по-другому?ИЛИ заголовок и нижний колонтитул остаются неизменными при изменении содержимого сайта?

Если это последний, вы можете настроить его таким образом, чтобы 2 файла (например, "header.php" и "footer".php ") содержит ваш код заголовка и код нижнего колонтитула, и что у вас есть div содержимого между ними.Вы можете распечатать все, что нужно для входа в раздел содержимого, в зависимости от того, на какой странице вы находитесь, аналогично тому, как ваш код настроен выше.

Имеет ли это смысл?Таким образом, у вас будет три разных включаемых файла, один для верхнего колонтитула, один для нижнего колонтитула и один для содержимого страницы (в зависимости от того, на какой странице вы находитесь)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...