WebDesign: файл заголовка, но с пользовательскими названиями страниц?
Я использую заголовки для создания шаблонов для веб-сайтов.
Это легко и очень удобно для отладки.
Теперь я сталкиваюсь с проблемой использования head BUT с пользовательскими названиями страниц.
Если это мой header.php >
<html>
<head>
<title> My Site : ??? </html>
</head>
<body>
</body>
</html>
Мне нужно??? для замены на каждую страницу.
Возможно ли это? Если да, то как? Спасибо.:)
Ответы
Ответ 1
Не зная больше о вашей схеме включения файлов, самым простым способом было бы:
page2.php
<?php
$pageTitle = 'Page 2';
include 'header.php';
?>
<div>My content</div>
<?php include 'footer.php'; ?>
header.php
<html>
<head>
<title> My Site : <?php echo $pageTitle ?> </title>
</head>
<body>
footer.php
</body>
</html>
Ответ 2
Ответ на webbiedave отлично, но в конечном итоге вам следует научиться использовать либо достойный язык шаблонов (Smarty, Twig) или фреймворк PHP, который имеет собственный шаблон. Кохана и Codeigniter оба довольно легко попасть.
Ответ 3
Если бы я должен добавить код перед включением заголовка, это поможет?
<?php
$currentPage = "Random Page Title";
include "header.php";
?>
И затем используйте значение в header.php, чтобы напечатать заголовок страницы?
Ответ 4
вы можете запросить БД для названия страницы, а затем распечатать ее с помощью php:)
Edit:
Оглядываясь на проблему, в зависимости от того, как вы создали свой сайт, это не может быть самым простым решением. Но если вы уже используете какую-то систему ID, это должно быть легко.
Ответ 5
Да, это определенно поможет. Но вам нужно сделать небольшую настройку.
Прежде всего, убедитесь, что вы подключаетесь к базе данных, если хотите запрашивать/извлекать данные из базы данных. Чтобы это произошло, включите страницу "config.php" в самом начале script, в которой будет присутствовать логика подключения к базе данных.
Затем напишите свой запрос для извлечения данных из этой базы данных и присвойте этому значению требуемой переменной для его использования на титульной странице.
Наконец, включите страницу "header.php".
Для страницы "config.php": -
Логика подключения к базе данных, например, использование функций "mysql_connect()" и "mysql_select_db()".
Для страницы "custom.php": -
<?php
include "config.php";
$sql = "SELECT pageTitle FROM db_table WHERE condition = 'something'";
$sql_exe = mysql_query($sql) or die("Error in Fetching Page Title");
if( mysql_num_rows($sql_exe) ) {
$currentPage = mysql_result($sql_exe, 0, 0);
}
else {
$currentPage = "Random Page Title";
}
mysql_free_result($sql_exe);
include "header.php";
?>
Кроме того, если вы хотите, вы всегда можете использовать некоторый класс для подключения и запросов mysql для получения данных. Но так оно и работает.
Ответ 6
вы можете вызвать javascript для динамического изменения названия страницы, это лучшее решение, если у вас есть главный файл index.php, который вызывает все остальные, включая
Ответ 7
Вы также можете использовать что-то вроде этого:
если вы вышли замуж за ваши имена файлов php с названиями своих страниц
вы можете использовать explode или str replace, чтобы сделать его более удобным для замены запятых или подчеркиваний, например.
<?php
echo basename($_SERVER['REQUEST_URI']);
?>
или
<?php
// my_page_title.php
$var=basename($_SERVER['REQUEST_URI']);
$pagetitle=str_replace("_"," ",$var);
// my page title
?>
<title> My Site : <?php echo $pagetitle; ?> </title>
Ответ 8
Исправлена 1 небольшая ошибка в записи заголовка Webbiedave header.php
</html> should be </title>
<html>
<head>
<title> My Site : <?php echo $pageTitle ?> </title>
</head>
<body>