Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сделать цепочку шаблонов?

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: Владимир55   (16.11.2006 в 11:39)   письмо автору
 
   для: Loki   (15.11.2006 в 22:45)
 

Именно так!
Код, составленный Loki, был правильным с самого начала, а моя проблема проистекала из того, что у меня установлена устаревшая версия рнр. Loki сделал наладку непосредственно на моем сайте, за что ему огромная благодарность и низкий поклон! Сейчас через деланный Loki скрипт люди уже читают книгу, над размещением которой я бился три дня, да и еще пришлось бы неизвестно сколько потратить времени! Большое спасибо Вам, Loki, за помощь и за отзывчивость!

   
 
 автор: Loki   (15.11.2006 в 22:45)   письмо автору
 
   для: Владимир55   (15.11.2006 в 21:24)
 


$pages=explode("----##----", chunk_split($text, $len, "----##----")); //разбиваем книгу на страницы

Эта строчка для версий php < 5.
Для пятерки работает скрипт написанный выше.

   
 
 автор: Владимир55   (15.11.2006 в 21:24)   письмо автору
 
   для: Владимир55   (15.11.2006 в 10:08)
 

Созданный Loky скрипт показа книг прост и очень удобен. Я не исключаю возможности, что и кто-то другой захочет его использовать. И поэтому привожу окончательную редакцию скрипта, который Loky в последний момент немного поправил.

<?
$len=2000; //символов на странице
$book="book.txt"; //файл с книгой
$page=intval($_GET['page']); //номер текущей страницы получаем из url
$text=file_get_contents($book); //считываем файл целиком
$pages=explode("----##----", chunk_split($text, $len, "----##----")); //разбиваем книгу на страницы
?>
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Книга. Часть <?=$page+1 ?></title>
</head>
<body>
<p><a href="http://www.site.ru">На главную страницу сайта</a></p>
<p>Часть <span lang="en-us"><?=$page+1 ?></span></p>
<p align="left">
<?
echo $pages[$page]; //выводим текущую страницу
?>
</p>
<p align="left">
<?
//а тут у нас навигация
if ($page) echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">назад</a>"; //если страница не первая, то выводим ссылку на предыдущую
if ($page!=count($pages)-1) echo "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\"> вперед</a>"; //если страница не последняя, то выводим ссылку на cледующую.
?>
</p>
</body>
</html>

   
 
 автор: Владимир55   (15.11.2006 в 14:14)   письмо автору
 
   для: Loki   (15.11.2006 в 13:52)
 

Loki!
Дело в том, что этот скрипт (цепочка шаблонов) у меня не работает! Я перепробовал и перепроверил все, что только мог, но он не работает. Полную диагностику я написал на Форуме выше. Единственное, что мне осталось - это попросить Вас прислать Ваш файл и проверить его у себя. Иначе вся проделанная Вами работа для меня бесполезна...

   
 
 автор: Loki   (15.11.2006 в 13:52)   письмо автору
 
   для: Владимир55   (15.11.2006 в 13:26)
 

Файл берите из поста выше, а книгу можете взять такую
book.txt
Smarty templates
Рано или поздно начинает как-то нервировать, когда при смене дизайна тебя отрывают от других проектов, потому что чтоб сменить дизайн, надо лезть внуть PHP-страниц и что-то там менять. А дизайнер этого делать и подавно не собирается (а может просто не умеет).


Собственно, для меня это и стало толчком в сторону концепции "разделения данных и представления".

В самом простом случае мы можем использовать HTML-шаблоны. Что это такое? Средство, позволяющее вынести из РНР весь HTML в отдельные файлы. Но данные туда вставлять все-равно надо, скажите вы. Да, надо, и для этого служит свой простой синтаксис, и никакого РНР-кода вперемежку с HTML!

Такова идея движка шаблонов Smarty. Я бы сказал, что это очень удобная штука, если применять ее с умом.

Итак, в первую очередь нам понадобится сам шаблонизатор. Берем и разваливаем его в какую-то папку в нашем www. После этого топаем сюда и читаем ускоренный курс обучения.

Как правило, все должно заработать. Если же все так просто с первого раза не запустилось, то давайте напишем обертку для класса Smarty.

Для начала, немного теории. Смарти при парсинге шаблона генерирует его PHP-код. Для увеличения быстродействия он его сохраняет в своем кеше и в следующий раз отдает его оттуда уже без повторной генерации (это папка template_c, у которой должны быть права на запись для апача).

   
 
 автор: Владимир55   (15.11.2006 в 13:26)   письмо автору
 
   для: Loki   (15.11.2006 в 13:23)
 

Может у меня в настройках поискать причину? Может код доступа к файлам не тот?

Можете ли Вы приложить созданный Вами файл и книгу, которые точно работают у Вас?

   
 
 автор: Владимир55   (15.11.2006 в 13:23)   письмо автору
 
   для: Loki   (15.11.2006 в 13:02)
 

Ну а почему же у меня-то не работает???

Код перенес один в один - просто создал новую страничку с именем 1.htm
Имя книги так и оставил: book.txt

Что получилось:
Имя страницы после запуска - Книга. Часть <?=$page+1 ?> Прямо так и пишет вверху страницы на синем поле.

Содержание книги не выводит. А пишет только это:
=================
На главную страницу сайта

Часть

назад"; //если страница не первая, то выводим ссылку на предыдущую if ($page!=count($pages)-1) echo " вперед"; //если страница не последняя, то выводим ссылку на cледующую. ?>
=================

При этом слово "вперед" как ссылка (а за ней Not Found), а слово "назад" просто как слово!

Может код каким-то диковинным образом искажается при его переносе со страницы Форума в редактор?

   
 
 автор: Loki   (15.11.2006 в 13:23)   письмо автору
 
   для: Trianon   (15.11.2006 в 13:18)
 

это в планах будущей CMS, начатой в предыдущем посте:)

   
 
 автор: Trianon   (15.11.2006 в 13:18)   письмо автору
 
   для: Loki   (15.11.2006 в 13:13)
 

а закешировать? :)

   
 
 автор: Loki   (15.11.2006 в 13:13)   письмо автору
 
   для: Владимир55   (15.11.2006 в 12:40)
 

>3. Я не нашел функции сохранения созданной страницы. Где она?
добро пожаловать в мир динамических страниц:)

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования