![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Zerony |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
У меня вот такая проблемка: впервые пишу движок, хочу его сделать бесплатным и удобным для редактирования шаблонов.
Идею взял в DLE там в файле шаблона (например main.tpl) там, где встречается - {vote} выводит шаблон с таким же названием. Это лучше сделать методом анализа файла (иф и т.д.) или есть более удобные способы. Как вариант мне говорили что можна в нужном месте вставлять пхп код типа <? echo ... ?> и там выводить тот файл который мы подключаем, но ходят слухи что движок тогда становится уязвимым. Надеюсь я правильно выложил свою идею, всем спасибо за внимание ![]() ![]() |
|||
|
||||
KuZyagroup |
|
|||
![]() magento solution ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 16.4.2007 Где: Kiev Репутация: нет Всего: 4 |
мне почему то кажется что Вам рано ещё движок писать.
А по поводу {vote}, почитайте в гугле документацию по smarty, лишним не будет. |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Я советую про Smarty не читать, а просто почитать про шаблонизаторы в пхп.
|
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Это точно. Напишите сначала несколько небольших движков, набейте шишки. Причем каждый раз пишите новый парсер шаблонов, так чтобы они отличались фундаментально. Тогда поймете, как лучше, а как не надо в конкретных случаях |
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Чисто мое мнение не каких шаблонизаторов ( {}, %% %%, @@ @@, ## ##, итд ) и без них можно все сделать, а главное это будет производительно в 3 раза (все конечно зависит от рук).
как я делаю (ну уже не делаю, так как это уже готово): Делаешь систему подключения шаблонов которая в зависимости от текущей страницы или параметра подключает вверх и низ. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Sanchezzz, очень интересно, как вы работаете в команде с дизайнерами
|
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Новый Дима ты знаешь как разрабатывать сайты в команде?
Легко Рисуется дизайн его утверждают Затем отдают верстальшику Потом программисту. и дизайнер не будет лазить в html, чтобы что то поменять его дело нарисовать. -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Т.е. накатанный прогером проект уже не редактировать верстальщику в будущем? Разве это удобно?
|
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Видишь все зависти какой у вас верстальщик(и).
У нас умные верстальщики подчти прогеры ![]() ------------- вернемся к теме Я считаю что система подключение шаблонов в зависимостей от страницы или параметров удобнее. Реализация простая: <? include 'init-before.php';?> тут простой хтмл <? include 'init-after.php';?> в первом файле подключается конфиг и ядро которое определяет, где находимся и какой шаблон инклудить из папки шаблона. структура папок простая tempalete default // папка header.php // для вверха foter.php // для низа. gfx // папка для картинок можно любую как верстальщик сделает style.css shablon1 shablon2 порядок подключение шаблонов можно хранить в бд можно в файле array (0=> array('name'=>'Название шаблона на Eng зщадается как и папка шаблона' , 'description' => 'описание если делать какойто интерфейс', 'sort'=>'0', 'type'=>'тип уловия подключение шаблона', 'value'=>'Свойство для сравненияусловия или подстовляение параметров' ) 1=>... ); В ядре нужно определить текушию страницу сайта и какие get параметры передаются. далее идет условия подключение шаблонов. Пробегаемся по массиву шаблонов (массив выше) и по пути выполняем условия пока не совполет Допустим тип (type из массива) задан как index это привязка к шаблона к определенной страницы и не к другой, тогда значение (value) будет адрес этой страницы, если адрес задан как сайт/ то шаблон применяется на все включительные папки и страницы сайта. Значение 'sort' это для сортировки чтобы отсортировать порядок выполнении условий можно конечно и сразу массив выдавать в соответствующем порядке. Если условие совпадает то записывает в переименую адрес шаблона и выходим из цикла с помощью break; $header = '/tempalete/'.$perm1.'/header.php'; $foter= '/tempalete/'.$perm1.'/header.php'; где $perm1 это название шаблона и папки полученной в ранее далее дело инклуда include $_SERVER['DOCUMENT_ROOT'] . $header ; в нижний файл точно также include $_SERVER['DOCUMENT_ROOT'] . $foter ; проверка если файл шаблона обезательна... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - а теперь в сторону шаблонизаторов за чем писать ввелик который толку мало чего дает только лишнее выполнение кода. что насчет тупых верстальщеков таких, я еще не видел. ( его дело свестать) да и инклуд знают все. лично я написал уже себе велик такой, и мне он очень подходит, а главное работает в 3 раза быстрей... около 1-3 сек на генерации страницы с флешки на денвере. 1-3 сек это ядро с класами и компонентами без них еще быстрее. все можете кидать помидорами... Это сообщение отредактировал(а) Sanchezzz - 12.5.2009, 12:11 -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
NewDima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Любой движок можно сделать уязвимым, или наоборот, снизить уязвимость до предела Sanchezzz, в любом случае, не буду спорить, елси вы уже используете такую схему и она удобна для команды, в которой вы работаете, что тут скажешь =) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |