Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Местоположение на сайте

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Kuzia
Отправлено: 01 Августа, 2010 - 18:59:27
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Нужно вывести местоположение юзера на сайте. И не url'ом, а названием страницы
Например:
/ - Главная
/blog - Блог
/forum - Форум
/gallery - Галерея
и т.д.
Просьба дать пример реализации сего чуда

P.S. Все страницы в примере можно не рассписывать Радость

(Отредактировано автором: 01 Августа, 2010 - 18:59:56)

 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Августа, 2010 - 19:09:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




На каждой странице определяем переменную $page_name = 'Имя страницы';

и там где это надо:
echo 'Вы находитесь на странице '.$page_name;

ну или почти то же если с шаблонизатором...
(Добавление)
Блин....
Короче так, построим простейший шаблонизатор:
Каждая ( ЛЮБАЯ!!! ) страница должна иметь "индивидуальные свойства отображения" (назовем их так), это:
1. Заголовок (title)
2. Имя (какраз то что тебе надо)
3. Метаданные (keywords, content и пр....)
4. Все остальное в зависимости от того что мы на этой странице показываем

Например есть страница новостей...

Еще до какого либо вывода в браузер нужно определить все эти переменные, и лучше загнать их сразу в массив:

$replace_content['page_title'] = 'Новости';
$replace_content['page_name'] = 'Новости';
$replace_content['article_title'] = 'Новость номер 1';
$replace_content['article_text'] = 'Содержимое новости номер один, просто текст этой новости';

Теперь нам нужно "схавать" шаблон страницы:

$current_shablon = file_get_contents('templates/news_shablon.htm');

Сам шаблон выглядит так:
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <title>{PAGE_TITLE}</title>
  4. </head>
  5. <body>
  6. <div>{PAGE_NAME}</div>
  7. <div><strong>{ARTICLE_TITLE}</strong><br>{ARTICLE_TEXT}</div>
  8. </body>
  9. </html>
  10.  


Ну а теперь займемся делом:

while( list($name,$value) = each ($replace_content) ) {
if(!is_array($value)) {
$current_shablon = str_replace('{'.strtoupper($name).'}',$value,$current_shablon);
}
echo $current_shablon;

Вот и все.......
(Добавление)
Ну а если шаблоны это не целые страницы, а хедер, футер и прочие это суть разные файлы, тогда необходимо использовать так называемый "буфер" (накопительный) для конкатенации шаблонов в целую страницу. И в конце кгда страница буфером собрана идем по ней нашим циклом и вписываем нужные значения вместо акронимов...
 
 Top
Kuzia
Отправлено: 01 Августа, 2010 - 20:45:07
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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

P.S. Связатся с ним немогу (он вечно занят)

(Отредактировано автором: 01 Августа, 2010 - 20:45:46)

 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Августа, 2010 - 20:51:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




DeepVarvar пишет:
На каждой странице определяем переменную $page_name = 'Имя страницы';

и там где это надо:
echo 'Вы находитесь на странице '.$page_name;


Или завести отдельный файл с названиями страниц (это кстати уже сложнее)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB