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, просто выглядит эстетичней и короче.

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


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как защитить свои данные в общественном Wi-Fi?
8 unazekoff 324 Сегодня, 6:13
автор: unazekoff
Открытая тема (нет новых ответов) Как получить от своей группы Вконтакте максимум?
6 VilD 1498 Вчера, 15:31
автор: laser
Открытая тема (нет новых ответов) Как организовать индексацию защищенных pdf с ключами и ссылками
И разместить pdf на внешних жирных ресурсах
1 kirch 650 Вчера, 14:35
автор: kirch
Горячая тема (нет новых ответов) Как заработать новичку?
142 Emeralda 25778 23.5.2018, 17:07
автор: Vlad_Sokolov
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКак носить смартфоны диагональю 5.5 - 6.4 дюйма?
42 Room 5166 23.5.2018, 13:36
автор: wertu


 



RSS Текстовая версия Сейчас: 25.5.2018, 8:13
Дизайн