X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как вынести шаблон в отдельный файл?, Как отделить разметку от скриптов?!
K_Yu_Pro
K_Yu_Pro
Topic Starter сообщение 24.12.2009, 15:08; Ответить: K_Yu_Pro
Сообщение #1


Участник
***

Группа: User
Сообщений: 102
Регистрация: 22.1.2009
Из: Москва
Поблагодарили: 21 раз
Репутация:   7  


Всем здравствуйте!
Решил на новый год сделать подарок пользователям своего сайта - обновить cms. Помимо удобства использования для посетителей, задумался и об удобстве для администратора (себя т.е.).
Дело в том, что php я стал изучать совсем недавно, по этому моя cms имеет самую простую структуру, которую только можно представить. Но уж больно неудобно писать и разметку и скрипты в одном файле, то "подключая php", то "отключая". Сейчас код на страницах выглядит примерно так:
<tr>
  <td width="180" valign="top" class="news_name">Оригинальное название:</td>
  <td width="315" valign="top" class="news_text"><?php echo $myrow["engl_name"]; ?></td>
</tr>
<tr>
  <td width="180" class="news_name" valign="top">Год выпуска:</td>
  <td width="315" class="news_text" valign="top"><?php echo $myrow["film_year"]; ?> г.</td>
</tr>


Это еще самый цивилизованный пример. sleep.gif
Разбираться в подобном, как вы понимаете, не очень-то удобно и возникает вопрос: как вынести шаблон в отдельный файл?

Мне очень нравится, как реализованы шаблоны на DLE. Подскажите пожалуйста, как можно организовать что-то подобное для собственной cms?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
bitrixoid
сообщение 24.12.2009, 15:10; Ответить: bitrixoid
Сообщение #2


клоновод
******

Группа: Banned
Сообщений: 1951
Регистрация: 27.4.2009
Поблагодарили: 1118 раз
Репутация:   166  


подключить шаблонизатор или попробовать написать свой элементарный. в любом случае придется экспериментировать и пробовать


--------------------
клоновод
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
K_Yu_Pro
K_Yu_Pro
Topic Starter сообщение 24.12.2009, 15:44; Ответить: K_Yu_Pro
Сообщение #3


Участник
***

Группа: User
Сообщений: 102
Регистрация: 22.1.2009
Из: Москва
Поблагодарили: 21 раз
Репутация:   7  


вот по поводу собственного шаблонизатора: как, грубо говоря, заменить
<?php echo $myrow["film_year"]; ?>
на предположим запись {FILM_YEAR}, а уже в другом файле расшифровать, что {FILM_YEAR} на самом деле ни что иное, как <?php echo $myrow["film_year"]; ?> wacko.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
bitrixoid
сообщение 24.12.2009, 15:58; Ответить: bitrixoid
Сообщение #4


клоновод
******

Группа: Banned
Сообщений: 1951
Регистрация: 27.4.2009
Поблагодарили: 1118 раз
Репутация:   166  


с шаблонизаторами не работал, но
ГРУБО говоря создаете файл с записями вида
...
FILM_YEAR => $myrow["film_year"]
...

затем в хедере подключаете свой шаблонизатор, который парсит страницу и ищет там вот такие скобки {...} и заменяет их в соответствии с записями типа той, что выше

попробуйте почитать в инете про smarty или еще чтонить


--------------------
клоновод


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dmitry_K
Dmitry_K
сообщение 24.12.2009, 16:00; Ответить: Dmitry_K
Сообщение #5


Участник
***


Группа: User
Сообщений: 159
Регистрация: 4.7.2008
Из: Санкт-Петербург
Поблагодарили: 27 раз
Репутация:   4  


Так и выносите в отдельный файл, подключая шаблон в самую последнюю очередь.

Кстати, можно короче писать:
<?=$myrow["film_year"]?>


--------------------
Качественная площадка (6/1400, 10 лет, экология) для размещения статей и ссылок.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
K_Yu_Pro
K_Yu_Pro
Topic Starter сообщение 24.12.2009, 16:42; Ответить: K_Yu_Pro
Сообщение #6


Участник
***

Группа: User
Сообщений: 102
Регистрация: 22.1.2009
Из: Москва
Поблагодарили: 21 раз
Репутация:   7  


(Dmitry_K @ 24.12.2009, 15:00) *
Так и выносите в отдельный файл, подключая шаблон в самую последнюю очередь.


А как это реализовать, что, действительно придется писать парсер с проискам {...} ??
Какие-то стандартные средства не существуют? huh.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
bitrixoid
сообщение 24.12.2009, 16:48; Ответить: bitrixoid
Сообщение #7


клоновод
******

Группа: Banned
Сообщений: 1951
Регистрация: 27.4.2009
Поблагодарили: 1118 раз
Репутация:   166  


ну что делает шаблонизатор? это поиск шаблонных участков кода и замена их необходимыми, да? посмотрите как они устроены, сделайте свой попроще


--------------------
клоновод
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dmitry_K
Dmitry_K
сообщение 24.12.2009, 16:59; Ответить: Dmitry_K
Сообщение #8


Участник
***


Группа: User
Сообщений: 159
Регистрация: 4.7.2008
Из: Санкт-Петербург
Поблагодарили: 27 раз
Репутация:   4  


(K_Yu_Pro @ 24.12.2009, 15:42) *
А как это реализовать, что, действительно придется писать парсер с проискам {...} ??
Какие-то стандартные средства не существуют? huh.gif


Так и пишите <?=$myrow["film_year"]?>
Больше ничего делать не нужно. Шаблонизаторы нужны для людей, которые занимаются дизайном и могут править шаблон (считается что им проще править шаблонизатор). Если для себя делаете, то зачем лишним кодом загружать сайт и лишними процессами сервер.


--------------------
Качественная площадка (6/1400, 10 лет, экология) для размещения статей и ссылок.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
K_Yu_Pro
K_Yu_Pro
Topic Starter сообщение 24.12.2009, 17:10; Ответить: K_Yu_Pro
Сообщение #9


Участник
***

Группа: User
Сообщений: 102
Регистрация: 22.1.2009
Из: Москва
Поблагодарили: 21 раз
Репутация:   7  


анализируя ситуацию выходит, что проще оставить как есть, потому что использовать шаблонизатор как-то нецелесообразно получается: подключение кучи дополнительных файлов дабы привести код к более читаемому виду

Dmitry_K, это тот же самый вид записи, просто заменили echo, разница от этого не меняется

Сообщение отредактировал K_Yu_Pro - 24.12.2009, 17:12
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dmitry_K
Dmitry_K
сообщение 24.12.2009, 18:37; Ответить: Dmitry_K
Сообщение #10


Участник
***


Группа: User
Сообщений: 159
Регистрация: 4.7.2008
Из: Санкт-Петербург
Поблагодарили: 27 раз
Репутация:   4  


(K_Yu_Pro @ 24.12.2009, 16:10) *
анализируя ситуацию выходит, что проще оставить как есть, потому что использовать шаблонизатор как-то нецелесообразно получается: подключение кучи дополнительных файлов дабы привести код к более читаемому виду


Шаблон нужен, чтобы он был един для всех разделов сайта. И файл подключается один и подправить без редактирования кучи файлов. Если имеется в виду шаблон для всего сайта.

(K_Yu_Pro @ 24.12.2009, 16:10) *
Dmitry_K, это тот же самый вид записи, просто заменили echo, разница от этого не меняется


По сути разницы нет (да я и не говорил о какой-то функциональной разнице), это и есть echo, просто выглядит эстетичней и короче.


--------------------
Качественная площадка (6/1400, 10 лет, экология) для размещения статей и ссылок.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как заработать новичку?
106 Emeralda 17647 Вчера, 21:17
автор: lesssss81
Горячая тема (нет новых ответов) Как заставить Google любить тебя?
Хочу роста трафа из Гугла : ))
72 Aslan88 16148 Вчера, 21:02
автор: alexandrrr
Открытая тема (нет новых ответов) Как установить источник заражения сайтов?
5 kelevra 323 Вчера, 17:55
автор: Nell
Горячая тема (нет новых ответов) Как быстро похудеть мужчине в домашних условиях?
бесплатно, без регистрации, без смс
211 Silverspam 13348 Вчера, 16:48
автор: Catherine_Molli
Открытая тема (нет новых ответов) Как правильно сделать категории на сайте?
Хелппп!!!
5 norino 623 Вчера, 16:28
автор: One_on_One


 



RSS Текстовая версия Сейчас: 12.12.2017, 1:29
Дизайн