Нужна помощь, PHP-include

12
[Удален]
1742

Добрый вечер.

Есть такие файлы, index.php, menu.php, header.php, footer.php, все файлы подключены с помощью include в файле index.php, также в нем есть место под контент, и есть файлы content.php с текстами, что надо прописать в index.php чтобы появлялся контент в указанном месте?

Еще один вопрос, как сделать чтобы у каждой страницы были разные титлы, а не одинаковый у всех как в index.php?

Prior
На сайте с 03.03.2008
Offline
184
#1
noseo:
Добрый вечер.
Есть такие файлы, index.php, menu.php, header.php, footer.php, все файлы подключены с помощью include в файле index.php, также в нем есть место под контент, и есть файлы content.php с текстами, что надо прописать в index.php чтобы появлялся контент в указанном месте?

Не совсем понятно что именно требуется...а точнее - совсем непонятно)

+Уточните что за CMS: самопис или что-то готовое используется?

noseo:
Еще один вопрос, как сделать чтобы у каждой страницы были разные титлы, а не одинаковый у всех как в index.php?

Нужно найти в каком файле у вас хиад прописан и там в зависимости от адреса страницы выводить разные титлы. (а, да, - забыл подписаться: Кэп. Очевидность ;) )

Ответы на вопрос - https://answers.net.pl
iexpert
На сайте с 01.09.2005
Offline
184
#2
noseo:
Добрый вечер.

Есть такие файлы, index.php, menu.php, header.php, footer.php, все файлы подключены с помощью include в файле index.php, также в нем есть место под контент, и есть файлы content.php с текстами, что надо прописать в index.php чтобы появлялся контент в указанном месте?
Еще один вопрос, как сделать чтобы у каждой страницы были разные титлы, а не одинаковый у всех как в index.php?

вы подменяете понятия.

Если стоит задача подключить файл с контентом, причем так, чтобы поменялся title, это задача не простая. В вашем варианте могу вам посоветовать не подключать файл инклюдом, а читать его и обрабатывать заранее, а в файле первой строкой, например, сделать тег <title> и при обработке этого файла, разбирать файл на переменные, и их выводить куда надо. ТАкая пародия на xml у вас получится....

а вообще задача на почесать правое ухо правой ногой....

Бойтесь ваших желаний, ибо они могут исполниться
[Удален]
#3
iexpert:

Если стоит задача подключить файл с контентом, причем так, чтобы поменялся title, это задача не простая.

почему непростая, смотреть перменную из массива $_GET,которая отвечает за инклюд, и по ее значению изменять тайтл

iexpert
На сайте с 01.09.2005
Offline
184
#4
Soulwest:
почему непростая, смотреть перменную из массива $_GET,которая отвечает за инклюд, и по ее значению изменять тайтл

Все так, тока этот тайтл еще надо б где то хранить...

да и про переменную $_GET речи не шло еще пока....

[Удален]
#5
iexpert:
Все так, тока этот тайтл еще надо б где то хранить...
да и про переменную $_GET речи не шло еще пока....

дак, а как ходить по сайту , без $_GET и $_POST ?? а тайтлы хранить рядом в массиве :) ну или делать запрос к базе

SP
На сайте с 20.05.2008
Offline
56
#6
noseo:
Добрый вечер.

Есть такие файлы, index.php, menu.php, header.php, footer.php, все файлы подключены с помощью include в файле index.php, также в нем есть место под контент, и есть файлы content.php с текстами, что надо прописать в index.php чтобы появлялся контент в указанном месте?
Еще один вопрос, как сделать чтобы у каждой страницы были разные титлы, а не одинаковый у всех как в index.php?

Самый простой вариант:

<?php

$title = 'Заголовок по умолчанию';
ob_start();
include('текущий_content.php');
$ret = ob_get_contents();
ob_end_clean();
require('header.php');
require('menu.php');
echo $ret;
require('footer.php');
?>

В переменной $ret содержится текст вывода скрипта content.php . Если в content.php просто текст, то можно просто читать текст из него, но здесь мы предполагаем, что в content.php скрипт.

В файлах content.php прописываем переменную $title:

$title = 'Заголовок текущей страницы';

И нужно чтобы в header.php в <title></title> подставляласб эта переменная.

В итоге в зависимости от content.php будет меняться заголовок страницы. Также можно менять и другие meta-поля.

Делаю небольшие заказы на php, perl, js/ajax, delphi; парсеры, простые сайты с админкой, установка\настройка sape, wordpress и др. Мой Блог (http://www.seoproger.ru)
[Удален]
#7
+Уточните что за CMS: самопис или что-то готовое используется?

Нет, это не cms и не самопис, а простые файлы.:)

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

Вроде так не получится, т.к. все равно будет титл главной страницы.

вы подменяете понятия.
Если стоит задача подключить файл с контентом, причем так, чтобы поменялся title, это задача не простая. В вашем варианте могу вам посоветовать не подключать файл инклюдом, а читать его и обрабатывать заранее, а в файле первой строкой, например, сделать тег <title> и при обработке этого файла, разбирать файл на переменные, и их выводить куда надо. ТАкая пародия на xml у вас получится....

Да, задача именно такая стоит, например меню из 10 разделов, и при заходе в каждый раздел будет разный титл страницы.

Вопрос еще в том, как подключить страницы с контентом в index.php и menu.php?

noseo добавил 16.11.2009 в 23:29

Этот код будет на главной странице (в index.php)?

<?php
$title = 'Заголовок по умолчанию';
ob_start();
include('текущий_content.php');
$ret = ob_get_contents();
ob_end_clean();
require('header.php');
require('menu.php');
echo $ret;
require('footer.php');
?>
SP
На сайте с 20.05.2008
Offline
56
#8
noseo:

Этот код будет на главной странице (в index.php)?

Да, это основа кода для главной страницы. Вам нужно вместо текущий_content.php подставлять имя нужного файла (которое можно передавать в url страницы). Также стоит проверять, чтобы текущий_content.php был разрешенным файлом, а не скриптом с постороннего сервера, иначе такую систему будет взломать очень просто.

seosniks
На сайте с 13.08.2007
Offline
389
#9

Можно сделать условие по которому отдавать либо название сайта либо страницы.

Например

$sitename ='Мой сайт'; // Отдает вам название сайта прописаного в конфиге

$title ='Титл конкретной страницы';// отдает вам корнтент страницы

$title = $stranica;

if(!$title) { $title=$sitename;}

и тогда $title отдаст вам название сайта если .

переменная $title будет пустой, на морде сайта.

А если переменная имеет значение title то выводит его

Вами нужно в переменную $title передать сначение страницы к новостью

Вот вам пример prichuda.info

А для того чтоб получить эту самую переменную Вам лучше воспользоваться

таким способом

if (!$template =  file_get_contents(".папка с файлами контента каждый файл это раздел."/".$razdel.".php"))  $fd =("ошибка статей нет");  

$razdel получает через GET название раздела.

Хотя это уже больше будет CMS.

Вот код для примера. чтоб понять как работает создайте любой файл запустите. Посмотрите что написано в браезере, затем удалите текст Это контент конкрентой новости

и посмотрите что будет .

Это самый простой пример

<?php

$sitename ='Мой сайт'; // Отдает вам название сайта прописаного в конфиге
$stranica ='"Это контент конкрентой новости ';// Если переменная $stranica пуста то получим
//значение $sitename;

$title = $stranica;
if(!$title) { $title=$sitename;}
echo $title;
?>

seosniks добавил 17.11.2009 в 09:23

noseo:
Нет, это не cms и не самопис, а простые файлы.:)

Вроде так не получится, т.к. все равно будет титл главной страницы.

Да, задача именно такая стоит, например меню из 10 разделов, и при заходе в каждый раздел будет разный титл страницы.

Вопрос еще в том, как подключить страницы с контентом в index.php и menu.php?

noseo добавил 16.11.2009 в 23:29
Этот код будет на главной странице (в index.php)?

Вот вам меню

$menu = '';

$file = file("menu.txt"); // получаем массив из строк файла menu.txt   тип файла можт быть любой

foreach ($file as $lines) // получаем в цикле всю базу меню
{
$element = explode ("||",$lines);
$menu_out .= " &nbsp;<a href=/".$element[0]."/>".$element[1]."</a><br>";
}
$menu_out;// Отдаст вам ваше меню

создаем файл menu.txt

с содержимым

a||Техника быта||

b||Тв техника||

c||ПК техника||

uvelir||Ювелирные изделия||

С этим играете как вам надо

<a href=/".$element[0]."/>".$element[1]."</a>

значения

$element[0] = uvelir

$element[1] = Ювелирные изделия

В общем лучше учить PHP

или пользоваться готовыми решениями. которых полно.

[Удален]
#10

Все равно ничего не понял.:D

Мне нужен php-программист для написания простой cms на includax. Увижу в действии, разберусь.;)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий