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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


Всем здравствуйте!
Решил на новый год сделать подарок пользователям своего сайта - обновить 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


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


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


вот по поводу собственного шаблонизатора: как, грубо говоря, заменить
<?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


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

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

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


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


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


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

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


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


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


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


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


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


(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


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

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

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


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


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

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


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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
28 freeax 4587 12.4.2024, 1:22
автор: PostMan1
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19664 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3073 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13630 31.3.2024, 12:44
автор: Boymaster
Горячая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
29 metvekot 4277 31.3.2024, 0:17
автор: Liudmila


 



RSS Текстовая версия Сейчас: 17.4.2024, 0:35
Дизайн