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
Форумы портала PHP.SU :: Версия для печати :: Шаблон
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Шаблон

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

1. Cyrax123 - 29 Августа, 2008 - 17:15:05 - перейти к сообщению
Подскажите как создать шаблон для сайта на php? Особенно интересует создание динамического меню? Возможно есть какие-то готовіе примеры?
(Добавление)
Также очень интересует заголовки, если страница инклудится.. как их менять?
2. pifon1989 - 30 Августа, 2008 - 09:22:09 - перейти к сообщению
Cyrax123 пишет:
Подскажите как создать шаблон для сайта на php?

Сначала вам понадобится каркас сайта - это html+css. В каркасе оставите места для всего, что вам нужно: меню, новостей, содержания и проч. Далее программируете эти части и инклюдите в шаблон.
Cyrax123 пишет:
Особенно интересует создание динамического меню?

Сохраняете в базу ссылку, имя и всё необходимое для генерации меню. Потом подключаетесь к ней и выводите циклом.
Cyrax123 пишет:
Также очень интересует заголовки, если страница инклудится.. как их менять?

Это уж совсем просто. Создаёте в начале страницы, перед инклюдой, несколько констант http://php.su/learnphp/?const ;
Сохраняете в них ключевые слова, описание, заголовок страницы, ну и всё, что душе угодно.
Затем редактируете код вставляемой страницы так, чтобы все атрибуты навроде <titile>, keywords были заменены на такие же константы.
Если всё сделано правильно, то в результате будут отображаться значения констант.
1.php
PHP:
скопировать код в буфер обмена
  1.  
  2. define("TITLE", "Самая обалденная страница");
  3. include_once(2.php);
  4.  

2.php
PHP:
скопировать код в буфер обмена
  1.  
  2. echo '
  3. <html>
  4. <head>
  5. <title>'.TITLE.'</title>
  6. </head>
  7. //-- тут какое-то содержание --
  8. </html>';
  9.  
3. Cyrax123 - 30 Августа, 2008 - 14:22:36 - перейти к сообщению
эх, что-то понял, но пока не совсем... Есть каки-то статьи по шаблонам на php. Я вобще сделал так, создал страницу html+css. Затем всю страницу поделил на несколько частей в разных файлах и оставил место для контента. Потом инклудил эти страницы. Короче говоря, я сделал по принципу SSI. Видимо сделал не праильно.. Пока разобрался только с заголовками... Улыбка)))
4. Вездеход - 30 Августа, 2008 - 17:12:52 - перейти к сообщению
pifon1989
зачем писать код который только усложнит жизнь ?
лучше сразу нормальный показывать.

Cyrax123
вот код который Валенок выкладывал даавным давно. я например его использую.
как работает сами разберетесь?

PHP:
скопировать код в буфер обмена
  1.  <?
  2. function TemplateParse( $tpl , $patterns , $replacements ) {
  3.    $tpl = file_get_contents($tpl) OR return "Can't read file";
  4.    echo str_replace($patterns,$replacements,$tpl) OR return "Can't replace";
  5.    return True;
  6. }
  7.  
  8. $pat = Array ('{HEADER}','{FOOTER}');
  9. $rep = Array ('Hello' , 'Word');
  10.  
  11.   echo TemplateParse("abc.tpl" , $pat , $rep );
5. Cyrax123 - 30 Августа, 2008 - 18:24:07 - перейти к сообщению
Вездеход
Если б Вы немного расказали о работе данного кода - было б очень хорошо. Потому что я сам могу очень долго разбиратся и не разобратся..
6. Вездеход - 31 Августа, 2008 - 00:34:27 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  <?
  2. // это сама функция для работы шаблонизатора. главное чтобы она была доступна в скрипте иначе ниче не будет работать. она заменяет шаблонные слова на нужный текст в шаблоне.
  3.  
  4. function TemplateParse( $tpl , $patterns , $replacements ) {
  5.    $tpl = file_get_contents($tpl) OR return "Can't read file";
  6.    echo str_replace($patterns,$replacements,$tpl) OR return "Can't replace";
  7.    return True;
  8. }
  9.  
  10.  
  11. /*----------------------------------------------------------------*/
  12.  
  13.  
  14. // тут мы указываем что и на что менять. это надо указать до начала вывода шаблонов. где именно и как тоже не имеет значения
  15.  
  16. $pat = Array ('{HEADER}','{FOOTER}'); // что меняем (шабонные слова)
  17. $rep = Array ('Hello' , 'Word'); //  на что меняем
  18.  
  19. /* если разберетесь с массивами - то вот тут можете облегчить себе "работу"
  20. /*----------------------------------------------------------------*/
  21.  
  22. /* выводим шаблон. вывод осуществляется путем вызова функции шаблонизатора и передачи в нее файла с шаблоном, шаблонных слов и текста который надо вывести в шаблон. */
  23.   echo TemplateParse("abc.tpl" , $pat , $rep );
  24. ?>
7. Cyrax123 - 31 Августа, 2008 - 20:59:12 - перейти к сообщению
Спасибо, а вот про динамичесоке меню раскажите пожалуйста..? Как там, в базу данных и что?
8. Вездеход - 01 Сентября, 2008 - 08:33:52 - перейти к сообщению
чаво? какое меню? какую базу? вы о чем? =)
9. Cyrax123 - 01 Сентября, 2008 - 12:24:57 - перейти к сообщению
Ну тут кто-то писал про ссылки в БД...
Короче говоря, нужно реализовать вот это на php.
PHP:
скопировать код в буфер обмена
  1.  
  2. <!--#if expr="$DOCUMENT_URI=/^\/index.html/" -->
  3. <span class="bold">Главная</span>
  4. <!--#else -->
  5. <a class="menu" href="/index.html">Главная</a>
  6. <!--#endif -->
  7. <!--#if expr="$DOCUMENT_URI=/^\/html\/index.html/" -->
  8. <span class="bold">HTML</span>
  9. <!--#else -->
  10. <a class="menu" href="/html/index.html">HTML</a>
  11. <!--#endif -->
  12.  
10. Вездеход - 01 Сентября, 2008 - 16:01:41 - перейти к сообщению
гм. я ж вроде писал вариант кода как можно это реализовать. причем совсем недавно.
попробуйте поискать.
делается это на основе данных из $_SERVER, после чего получается название скрипта (и каталога если нужно где скрипт находится) и после этого смело можно обрабатывать =)
11. Cyrax123 - 01 Сентября, 2008 - 17:04:32 - перейти к сообщению
Вездеход пишет:
гм. я ж вроде писал вариант кода как можно это реализовать. причем совсем недавно.
попробуйте поискать.
делается это на основе данных из $_SERVER, после чего получается название скрипта (и каталога если нужно где скрипт находится) и после этого смело можно обрабатывать =)

Да я то читал, что Вы писали.. просто пока что плохо понял как это все сделать...

 

Powered by ExBB FM 1.0 RC1