Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Допустим есть своя CMS, как для нее сделать шаблоны, как это делается вообще?
Т.е. я хочу чтоб юзер мог менять на моей CMS дизайн сайта путем смены шаблона(как в Joomla! к примеру).
Шаблоны допустим что он скачивает с моего сайта.
Сапсибо.
almair
Отправлено: 15 Февраля, 2012 - 07:35:16
Новичок
Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2009
Помог: 0 раз(а)
Первый вариант, файл шаблона считывается из файла, потом в нем заменяются через str_replace определенные значения, к примеру {TITLE}, {DESCRIPTION}.
Второй вариант , шаблон инклюдится и подставляются переменные.
medensev
Отправлено: 27 Февраля, 2012 - 23:23:01
Новичок
Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2012 Откуда: Орел
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Третий вариант - скачать Joomla! к примеру и установить
Uchenik
Отправлено: 28 Февраля, 2012 - 06:22:50
Частый гость
Покинул форум
Сообщений всего: 187
Дата рег-ции: Авг. 2011
Помог: 1 раз(а)
Для начала, чтобы CMS понимала шаблоны нужен шаблонизатор. Лично я юзаю xTemplate, классика жанра, очень удобный, стабильный, практически без тормозов. Берём значит шаблонизатор, и основываясь на его логике строим CMS. Хотя лично я сомневаюсь что у Вас получится что-то достойное. Без обид, но если человек спрашивает про шаблоны, то вряд ли он сможет написать действительно качественную CMS.
Бизнес-логика должна быть отделена от Вью-логики, т.е. все стилистические сачти должны быть отделены от исполняющего кода. А патом всё реализуется очень просто, создаётся какой-нибудь переключатель (выпадающий список, радио-кнопки), при смене которых просто подключается другой шаблон (таким образом можно сделать даже смену шаблонов "на лету")
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Если вы пишете CMS "как полагается", отделяя бизнес-логику от представления, то зачатки шаблонизации у вас уже должны быть. Нужно только весь HTML вынести в отдельную папку - вот вам и шаблон.
----- Чем больше узнаю, тем больше я не знаю.
PermskyCoder
Отправлено: 28 Февраля, 2012 - 09:52:30
Новичок
Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Smarty или Twig
Tonik992
Отправлено: 28 Февраля, 2012 - 16:59:32
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
По моему мнению, лучше не использовать готовые шаблонизаторы! Много лишнего кода. Проще создать свой, точнее не создать, а использовать такую систему:
У тебя основная папка template, в ней подпапки - так называемые твои "шаблоны".. Все они имеют одинаковые(не обязетально всё одинаковое) html или php файлы, свои изображение, стили, js и т.д., далее в зависимости от выбора пользователя подключаешь тот или иной шаблон (ту или иную папку)... А обработка шаблона банальным образом происходит в твоем php файле. Допустим, создай функцию - load_template($tpl_name), много способов
Впринцепи, тоже самое, что и DelphinPro сказал
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Tonik992 пишет:
По моему мнению, лучше не использовать готовые шаблонизаторы! Много лишнего кода. Проще создать свой, точнее не создать, а использовать....
и потом засорять форум вопросами "Почему не работает?". лучше езжать на хорошем велосипеде ни чем на деревянном, сколоченным гвоздями с треугольными колесами из серии "сделай сам не имея представления как это делается"! это мое имхо, думаю многие согласятся с моим ходом мыслей (Добавление) Tonik992, прелесть готовых шаблонизаторов в том что они отлажены, докумментированы и вся логика инкапсулирована, и кодеру достаточно знать какие методы доступны, что они делают и что возвращают.
Tonik992
Отправлено: 29 Февраля, 2012 - 22:13:57
Новичок
Покинул форум
Сообщений всего: 19
Дата рег-ции: Июнь 2010
Помог: 0 раз(а)
Bio man пишет:
и потом засорять форум вопросами "Почему не работает?". лучше езжать на хорошем велосипеде ни чем на деревянном, сколоченным гвоздями с треугольными колесами из серии "сделай сам не имея представления как это делается"! это мое имхо, думаю многие согласятся с моим ходом мыслей (Добавление) Tonik992, прелесть готовых шаблонизаторов в том что они отлажены, докумментированы и вся логика инкапсулирована, и кодеру достаточно знать какие методы доступны, что они делают и что возвращают.
Я не имел ввиду заного создать smarty. Конечно, смысла нет разрабатывать заново велосипед, который не поедет Обычная, подобная MVC система, где ты отделяешь логику от представления, банально (самый простой вариант) отделяешь свои файлы отображения от кода... И, в конечном результате, просто инклудишь нужный тебе "шаблон", т.е. набор php файлов, отвечающих за отображение..
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.