Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Шаблоны для своей CMS

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Объясните на пальцах
Данил Банаев
Отправлено: 15 Февраля, 2012 - 00:17:59
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Допустим есть своя CMS, как для нее сделать шаблоны, как это делается вообще?
Т.е. я хочу чтоб юзер мог менять на моей CMS дизайн сайта путем смены шаблона(как в Joomla! к примеру).
Шаблоны допустим что он скачивает с моего сайта.
Сапсибо.
 
 Top
almair
Отправлено: 15 Февраля, 2012 - 07:35:16
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Первый вариант, файл шаблона считывается из файла, потом в нем заменяются через str_replace определенные значения, к примеру {TITLE}, {DESCRIPTION}.
Второй вариант , шаблон инклюдится и подставляются переменные.
 
 Top
medensev
Отправлено: 27 Февраля, 2012 - 23:23:01
Post Id



Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2012  
Откуда: Орел


Помог: 0 раз(а)




В помощь идет гугл найти шаблонизатор http://www[dot]google[dot]ru/search?ie=U[dot][dot][dot]1%82%D0%BE%D1%80 , очень много существует примеров

(Отредактировано автором: 27 Февраля, 2012 - 23:24:01)

 
 Top
Bio man
Отправлено: 27 Февраля, 2012 - 23:41:32
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Третий вариант - скачать Joomla! к примеру и установить
 
 Top
Uchenik
Отправлено: 28 Февраля, 2012 - 06:22:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 187
Дата рег-ции: Авг. 2011  


Помог: 1 раз(а)




Для начала, чтобы CMS понимала шаблоны нужен шаблонизатор. Лично я юзаю xTemplate, классика жанра, очень удобный, стабильный, практически без тормозов. Берём значит шаблонизатор, и основываясь на его логике строим CMS. Хотя лично я сомневаюсь что у Вас получится что-то достойное. Без обид, но если человек спрашивает про шаблоны, то вряд ли он сможет написать действительно качественную CMS.
Бизнес-логика должна быть отделена от Вью-логики, т.е. все стилистические сачти должны быть отделены от исполняющего кода. А патом всё реализуется очень просто, создаётся какой-нибудь переключатель (выпадающий список, радио-кнопки), при смене которых просто подключается другой шаблон (таким образом можно сделать даже смену шаблонов "на лету")

(Отредактировано автором: 28 Февраля, 2012 - 07:32:01)

 
 Top
DelphinPRO
Отправлено: 28 Февраля, 2012 - 06:47:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Если вы пишете CMS "как полагается", отделяя бизнес-логику от представления, то зачатки шаблонизации у вас уже должны быть. Нужно только весь HTML вынести в отдельную папку - вот вам и шаблон.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
PermskyCoder
Отправлено: 28 Февраля, 2012 - 09:52:30
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Smarty или Twig
 
 Top
Tonik992
Отправлено: 28 Февраля, 2012 - 16:59:32
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




По моему мнению, лучше не использовать готовые шаблонизаторы! Много лишнего кода. Проще создать свой, точнее не создать, а использовать такую систему:
У тебя основная папка template, в ней подпапки - так называемые твои "шаблоны".. Все они имеют одинаковые(не обязетально всё одинаковое) html или php файлы, свои изображение, стили, js и т.д., далее в зависимости от выбора пользователя подключаешь тот или иной шаблон (ту или иную папку)... А обработка шаблона банальным образом происходит в твоем php файле. Допустим, создай функцию - load_template($tpl_name), много способов
Впринцепи, тоже самое, что и DelphinPro сказал

(Отредактировано автором: 28 Февраля, 2012 - 17:03:58)

 
 Top
Bio man
Отправлено: 28 Февраля, 2012 - 18:03:17
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Tonik992 пишет:
По моему мнению, лучше не использовать готовые шаблонизаторы! Много лишнего кода. Проще создать свой, точнее не создать, а использовать....
и потом засорять форум вопросами "Почему не работает?". лучше езжать на хорошем велосипеде ни чем на деревянном, сколоченным гвоздями с треугольными колесами из серии "сделай сам не имея представления как это делается"! это мое имхо, думаю многие согласятся с моим ходом мыслей
(Добавление)
Tonik992, прелесть готовых шаблонизаторов в том что они отлажены, докумментированы и вся логика инкапсулирована, и кодеру достаточно знать какие методы доступны, что они делают и что возвращают.
 
 Top
Tonik992
Отправлено: 29 Февраля, 2012 - 22:13:57
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Bio man пишет:
и потом засорять форум вопросами "Почему не работает?". лучше езжать на хорошем велосипеде ни чем на деревянном, сколоченным гвоздями с треугольными колесами из серии "сделай сам не имея представления как это делается"! это мое имхо, думаю многие согласятся с моим ходом мыслей
(Добавление)
Tonik992, прелесть готовых шаблонизаторов в том что они отлажены, докумментированы и вся логика инкапсулирована, и кодеру достаточно знать какие методы доступны, что они делают и что возвращают.

Я не имел ввиду заного создать smarty. Конечно, смысла нет разрабатывать заново велосипед, который не поедет Улыбка Обычная, подобная MVC система, где ты отделяешь логику от представления, банально (самый простой вариант) отделяешь свои файлы отображения от кода... И, в конечном результате, просто инклудишь нужный тебе "шаблон", т.е. набор php файлов, отвечающих за отображение..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB