Современная, быстрая и удобная система управления сайтом

Отказ от старого default-шаблона. Схема перехода к MaxSite CMS 0.84

Архив записейКомментарии: 32Просмотров: 38774

Строго говоря речь идет не об отказе от Default-шаблона, а о смене его на вариант, основанный на shared-каталоге. Такая смена приведет к неработоспособности всех старых шаблонов, основанных на default. Я решил, что версия MaxSite CMS 0.83 будет последней, которая будет содержать нынешний default-шаблон. После этого все новые версии будут уже работать только на shared-каталоге, а default заменю на другой вариант.

Такая схема позволит без проблем обеспечить работу старых шаблонов до версии 0.83. Вместе с тем, я разработал схему обновления шаблонов, которая позволит отказаться от default-шаблона и в будущем без проблем позволит обновлять систему до любой версии.

Различия схем «default» (старый) и «shared»

Прежде чем приступить к переделкам, необходимо дать краткое описание отличий этих двух схем.

До MaxSite CMS 0.84 у нас было два варианта построения шаблона: основанный на default-шаблоне и основанный на shared-каталоге. Оба этих подхода предполагают, что любой шаблон будет заимствовать часть программного кода или файлов либо из default-шаблона, либо из shared-каталога.

В этих вариантах есть несколько принципиальных отличий, в первую очередь — разные структуры каталогов и файлов, что делает их несовместимыми друг с другом.

Для проверки какой именно у вас вариант, достаточно открыть index.php шаблона. В shared-шаблонах используется меньше кода и он содержит строчку:

if ($fn = mso_dispatcher()) require($fn);

Вариант «default» больше по размеру примерно в 5 раз.

Варианты переделок шаблонов

Конечно, самым лучшим вариантом был бы перевод шаблона на shared-схему. Это потребует довольно серьезной работы, которая по сути сведется к созданию нового шаблона (на основе нового default) только со старым дизайном. Вариант подходит тем, кто разбирается в вёрстке сайтов.

Если старый шаблон не очень ценен, то можно попробовать взять какой-то другой готовый шаблон (построенный на shared).

Некоторые шаблоны, вроде Clouds, достаточно популярны и используются с небольшими изменениями на сайтах. В таких случаях можно взять новый Default (или D2), только добавить небольшие правки по цветам. Новые шаблоны многократно перекрывают все старые, и к тому же, отлично настраиваются прямо из админ-панели. Таким образом повторить дизайн старого Default или того же Clouds можно вообще без программирования. Единственное — это добавить небольшие css-стили.

Вариант, о котором и пойдет речь ниже — это перенос из default-шаблона общих файлов. Таким образом шаблон не будет использовать default вовсе. Этот вариант хорош тем, что шаблон становится сам по себе и на него уже не будут влиять никакие внешние изменения; можно будет обновлять MaxSite CMS без ограничений по версии; он полностью сохранит функциональность и внешний вид; он очень простой и годится для «чайников».

Схема обновления своего шаблона к MaxSite CMS 0.84 (и выше)

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

Обратите внимание, что шаблон Default в MaxSite CMS 0.84 уже заменен на новый вариант, основанный на shared. Поэтому для обновления вашего шаблона используйте старый вариант, который всегда доступен как старый шаблон default 838. Если у вас версия менее 0.84, то этот шаблон включен в комплект системы.

В этой инструкции default-шаблон подразумевается только в старом варианте!

1. Сделать резервную копию своего шаблона вне каталога templates.

2. В каталог type своего шаблона копируем все type-файлы из default-шаблона. При этом следим за тем, чтобы не затереть уже существующие файлы. Если каталога type нет, то просто копируем его целиком из default-шаблона.

3. Проверяем файлы css-стилей в шаблоне (каталог css). Если в каталоге css шаблона присутствуют файлы style-all.css, style-all-mini.css, my_style.css или css.php, то ничего не делаем. Иначе — копируем из default-шаблона файл style-all-mini.css.

4. Копируем в свой шаблон из default файл functions-template.php.

5. Открываем в своем шаблоне файл functions.php и меняем строчку

if (file_exists(getinfo('templates_dir') . 'default/functions-template.php')) 
	require(getinfo('templates_dir') . 'default/functions-template.php');

на

if (file_exists(getinfo('template_dir') . 'functions-template.php')) 
	require(getinfo('template_dir') . 'functions-template.php');

6. Копируем из default-шаблона файл options.ini.

7. Обновляем в браузере страницу (F5) и смотрим исходный html-код (Ctrl+U). Внимательно просматриваем секцию HEAD, где все подключения css-файлов должны быть из текущего шаблона, а не из default (см. link rel="stylesheet" ... ). Если какие-то css-стили подключаются из default-шаблона, значит еще раз внимательно проверяем предыдущий пункт.

8. Здесь же в режиме исходного кода запускаем поиск по тексту (Ctrl+F) и вводим поисковое слово «default/». Проверяем все найденные вхождения, чтобы они не были частью пути к default-шаблону. Если всё сделано без ошибок, то вхождений не должно быть и сам сайт должен работать без ошибок и изменений.

9. Теперь шаблон использует только свои файлы и никак не связан с default и вы можете обновиться до последней версии MaxSite CMS, согласно инструкции в install-ru.txt.

Схема рассчитана на типовой вариант построения шаблона. Некоторые шаблоны могут иметь другие зависимости: если возникнет php-ошибка, то в ней будет указан путь к отсутствующему файлу. Если это какие-то связи в других файлах, например в css-стилях, то попробуйте запустить поиск по содержимому файлов шаблона по фразе «default/».

Вариант «быстрого» обновления

Есть ещё один способ сохранить совместимость вашего шаблона с новыми версиями MaxSite CMS.

Если у вас MaxSite CMS 0.84 и выше, то после обновления системы, переименуйте каталог default (например в default-new), а на его место загрузите старый шаблон default 838.

Такой вариант очень простой, но операцию придется проделывать при каждом обновлении MaxSite CMS.

Комментариев: 32 RSS

1Денис05-04-2013 18:36

У меня есть шаблон на основе дифолтного, там есть некоторые фишки, связанные с настройками в админ-панели, а также есть возможность менять фон сайта. Что в этом случае надо переносить?

3Денис06-04-2013 10:59

Да, я понимаю, но у меня есть шаблон, где стили вывода аватаров в комментариях, стили вывода сайдбара (справа или слева), стили смены фона сайта. Так вот, они располагаются в каталоге options в подкаталогах. Сама настройка рфункционала располагается в options.ini, находящемся в корневом каталоге.

Что мне надо сделать, чтобы этот функционал работал в шаблоне на основе sherad-каталога.

Я разместил настройки в папке options в файл options.ini, а куда перекидывать файлы стилей не знаю: если закинуть в эту-же папку, они работать не будут, если в папку css - тоже (всегда переносил каталоги с этими css файлами).

Заранее спасибо за ответ.

5Alex06-04-2013 15:57

Отличная новость

Старые шаблоны нужно выпиливать.

Автор вы нормальные (настраиваемый ) ЧПУ планируете ?

6Jimmy07-04-2013 16:40

Я все равно большую часть файлов из shared каталога перевожу в свой шаблон, т.к. у меня имеется свой уникальный стиль для страниц. info-top/bottom очень нужные файлы, а увидев их аналоги - page-do/posle, был разочарован (они пустые). В дефаулт-шаблоне были удобные заготовки, которые легко можно было подстроить под свой шаблон. D2 слишком сильно разбит на части и теперь стало сложнее искать нужные параметры (обратимся все к тем, же page-do/posle). В чем-то есть преимущества - кода стало значительно меньше, удобочитаемость выросла, но усложнился поиск связей между разными компонентами. Как-то так...

7Alexspburg13-04-2013 11:47

Если бы Вы еще повернулись лицом к пользователям, которые плохо разбираются в кодах и структурах и которых, я думаю, немало (это как раз-таки в большинстве те, кто отказался от Вордпресса - в частности, из-за его прожорливости)...

Вот у меня несколько сайтов на старом дефолтном шаблоне. Он меня полностью устраивает! Сайты отличаются фактически только картинками в шапке и фоном. Подключены форум, блоги...

Как мне перейти на новый шаблон без потери всего, что наработано и с сохранением оформления? Мне не нужно все это многообразие возможностей - дайте простой алгоритм для простого юзера с простым сайтом! :(

8Максим13-04-2013 11:53

Да, что ж такое... Приведенная инструкция на китайском написана? Не можем прочитать???

9Руслан Сафин14-04-2013 15:26

Использую ваш шаблон max-nun

Надо ли колупатится по инструкции в статье?

искал в коде вставки default.

Не нашел вхождений. Значит все хорошо?

10АлександрСайт19-04-2013 07:54

Точно, что надо читать до просветления. :) В статье речь идет о версиях от 0.84 и выше, а на гитхабе сейчас находится 0.823 Так в чем проблемы? :)

12АлександрСайт19-04-2013 08:51

А подумать слабо?

Если это мне, то у тех кто самостоятельно перешел на этот движок, проблем с адаптацией старых шаблонов не возникнет никаких.

Проблемы будут у тех, кто по совету друзей перешел на этот движок, возможно купив шаблон и установку на сервер, но для которых php - что-то не понятное. И будет жаль, если от них появится какая-то "вонь" по поводу действительно классной системы.

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

А новую версию считать самостоятельной. При этом конечно разъясняя, что возможен переход от старого подхода к новому.

13Максим19-04-2013 09:07

Разве не очевидно, что тем, кто хочет остаться на старой версии будет достаточно 0.83?

14Аноним21-04-2013 18:55

Прежде всего хочу сказать спасибо тезке за прекрасный движок, кто ничего не делает у того нет недостатков, а дальше по теме, 0,83 и 0,84 нигде не видел извините недоглядел наверно, скачал последнюю 0,82. Понял одну вещь, шаблоны уже есть разные по структуре. Такие нужные плагины как: видео, софт, анекдоты, вики на новой структуре шаблонов не работают. Я новый пользователь и наверно новый фанат вашей системы =). Переход на независимые шаблоны одобряю, правильным путем идете товарищи... Жаль что мне не подошел новый шаблончик из за несовместимости в плагинах. Удачи всем.

15AloneBitСайт24-04-2013 16:54

Хммм... Это серьезный повод переделать несколько своих шаблонов под D2. Благо еще есть время до выхода 0.84...

16Руслан Сафин10-05-2013 18:55

Что делать если на шаблоне на shared-концепции не работает плагин какой-нибудь? Который прекрасно работает на шаблонах default-концепции

17Самадхи11-05-2013 08:59

Я отказался от неработающих плагинов = ) хотя думаю надо просто подождать от разработчиков плагинов, адаптации или учиться кодить саому.

18dre@merСайт01-06-2013 09:44

Выскажу свое мнение. Шаблон, основанный на shared-каталоге - это путь в никуда.

Максим, извините, но для довольно не плохого движка (у самого блог уже 2 года на нем), слишком мало шаблонов. И это, в первую очередь, связано с ОЧЕНЬ СЛОЖНОЙ адаптацией готовых шаблонов под ваш движок. Честно пытался перейти на новую версию, при условии, что я отлично разбираюсь в СSS и более-менее сносно пишу PHP, но это просто атас! Понял, что времени на адаптацию шаблона уйдет слишком много и результат мне не понравится.

Не понимаю зачем необходима привязка к конкретной структуре, она рождает лишнюю разметку, которая не используется. Явно перемудрили с подключением CSS. Зачем столько вариантов для решения простой задачи? "Универсальности" это не прибавляет.

Если хотите сделать действительно гибкий адаптивный дизайн, посмотрите как это реализовано, к примеру, на ModX. Я уже оставлял тут пару коментариев по этому поводу. В целом, движок отличный и шустрый, но шаблонизация - просто ужас. Именно этот момент и отпугивает многих пользователей и разработчиков.

19Максим01-06-2013 12:55

Конечно, если пытаться прикручивать старые костыли, то и результат не понравится. Делайте сразу нормально, как это и задумано. Тогда и будет радость.

С ModX вы ерунду говорите. На нем я не видел ни одного нормального шаблона, даже и близко не подходящего по функциональности и возможности нашего Default. На ModX или тот же распиаренный yii делаются либо примитивные шаблончики, либо оттачивают каждый сайт под себя. Это вообще сродни верстки обычными html-файлами, только с кучей разных в массе своей не нужных плюшек.

Единственная CMS, которую до сих пор можно сравнивать с MaxSite CMS — это WordPress в виде premium шаблона. Скачайте любой такой шаблон и попробуйте в нем разобраться. Если бы вы следили за этой темой, то знали бы, что разработчики premium-шаблонов WordPress уже не ждут милости от природы от автоматик никаких подвижек для вебмастеров, поэтому стали делать свои фреймворки для wp-шаблонов. Там и размека универсальная, и компоненты, похожие на наши, и css-стили в едином ключе. Сейчас они пытаются прикрутить LESS, но пока толком не выходит. У нас же это всё уже в комплекте. Разберитесь с основами, после этого будет предметный разговор.

20dre@merСайт01-06-2013 20:14

ModX я привел лишь для примера, а ориентироваться на неповоротливый WordPress в данном случае, думаю, не стоит. Я ведь почему и написал, что ваш движок мне нравится и хотелось поделиться именно своим взглядом на дальнейшее развитие.

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

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

Под старый шаблон все-таки проще было адаптировать дизайн, на мой взгляд. Хотя и там далеко не гладко. Согласен, что необходимо разбираться с новым шаблоном, однако "точка входа" в процесс разработки сейчас слишком высока. Документации, можно сказать нет вовсе.

В данном случае спасти ситуацию помогут только грамотные примеры разработки шаблона и подробная документация.

21Максим01-06-2013 20:42

Вы путаете некоторые вещи. Развитие системы зависит от стоящих задач и в этом плане MaxSite CMS развивается более чем приличными темпами. Как это не печально, но рунет отстает от буржуйского где-то на год-два. Поэтому я ориентируюсь именно на него, а не наших вебмастеров. Больше года назад я предложил перейти на LESS. Только сейчас наши стали раскочегариваться и пытаться хоть что-то на нем делать. И при том, что я сам знаю многих хороших верстальщиков, которые принципиально не хотят его использовать.

Так что я не могу ориентироваться на таких вебмастеров. Это примерно тоже самое, что оставаться на табличной верстке, только потому что кто-то не может осилить div'ую.

Ориентироваться нужно как раз на WordPress. Если брать голый «движок», то тут без вариантов — MaxSite CMS его превосходит по массе параметров. Но, если брать premium-шаблоны, то тут ещё предстоит битва. Компании, которые делают premium-шаблоны содержат и отличных дизайнеров и неплохих программистов. Загляните в какую-нибудь галерею таких шаблонов (вроде smthemes.com/demo), чтобы убедиться в их высоком качестве. И именно на такие работы следует ориентироваться.

И в таких шаблонах используются какие-то свои наработки (фреймворки), ровно то, что я уже сейчас предлагаю в MaxSite CMS.

Ваше же предложение можно понимать только так: давайте дальше делать примитивные вещи, но зато это будет проще и понятно каждому студенту-первокурснику.

Моё же предложение другое: потратьте на предлагаемый вариант создания шаблона некоторое время и вы научитесь делать premium-шаблоны.

22dre@merСайт01-06-2013 21:30

Я не страмлюсь вас переубедить, в конце концов вы разработчик и вправе делать со своим проектом всё, что душе угодно. Тут уже вопрос, кого вы видите целевой аудиторией своего проекта, на кого он рассчитан.

Обычному человеку, который решил завести себе автономный блог (не жж и тому подобное), ищущему движок под это дело, в первую очередь интересна именно простота использования. Поверьте, не будет он неделями изучать толмуды, проще взять готовое, что будет как-то соответствовать его представлениям.

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

23Alexspburg01-06-2013 23:37

dre@mer, похоже все это бессмысленно. Максиму, видимо, интересней решать свои задачи касательно сферических коней в вакууме, а не ковыряться в скучных вопросах не владеющих программированием пользователей. Я уже разбил лоб на форуме, пытаясь привлечь высочайшее внимание к простейшей проблеме по регистрации комюзеров. Бесполезно!

24АлександрСайт02-06-2013 06:48

Обычному человеку, который решил завести себе автономный блог (не жж и тому подобное), ищущему движок под это дело, в первую очередь интересна именно простота использования

Я с вами не согласен. Пользователя не обремененного знаниями программирования привлекают те возможности, которые заложены в default шаблоне и работе самого движка. Тем более, при желании есть возможность во всем разобраться и добиться желаемого результата для своих персональных нужд. При этом конечно нужно повысить уровень и своих знаний. Понятно, что для массовости должно быть доступным большое количество готовых шаблонов, но это уже проблема в привлечении разработчиков шаблонов, а не обычных пользователей. Просто разработчикам, желающим использовать Maxsite, надо помочь "войти". Но рецепта как это сделать у меня нет.

25Максим02-06-2013 08:08

Вы меня удивляете... Я даже тут говорю, что нужно хоть немного разобраться в устройстве шаблона, а вы говорите про какое-то непонимание, не приводя даже примеров в чём именно сложность. Вы думаете, что я не готов разжевывать самые простые вещи? Ошибаетесь, на своем сайте я именно этим и занимаюсь последние пару лет. Но у меня уже мозги наизнанку из-за того, что я не вижу нужна ли эта информация вебмастерам или нет. Реакции ноль, значит это либо не интересно, либо все всё понимают. Хотите конкретики, делайте пул вопросов, я их все освещу.

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

Вообще-то всё как раз наоборот. В MaxSite CMS всё сложное программирование уже реализовано — вебмастер использует уже готовые наработки. Если вы хотите простоты и полной свободы, то сделайте свой main.php с нужной разметкой, уберите из него подключения custom-файлов и ушек. Не хотите пользоваться компонентами, пропишите все их в main.php и удалите каталог components. Не устраивают type-файлы, скопируйте или сделайте свои в своем шаблоне. Стили киньте в css/my_style.css. Опции пропишите ровно те, которые нужны вашему шаблону. Это сложно?

26dre@merСайт02-06-2013 15:50

Да в том то и беда, что совершенно не понятно, что именно можно удалить из шаблона, описание настолько не полное и размытое, что приходится только догадываться для чего тут этот или что делает тот кусочек кода.

Для меня было бы гораздо проще сделать свой main.php (что отчасти и сделано в личном блоге), добавить в него только необходимые компоненты, хуки (здесь они ушки называются) и жить счастливо. Не нужно тащить за собой кучу лишнего кода и разметки "на все случаи жизни". Только проблема в том, что НЕТ НИГДЕ ни описания, ни списка хуков, компонентов, и т.д. В итоге тратим слишком много времени на копании в коде.

Да и про LESS - ну не всем он нужен, а кому уж так необходим, прикрутить не сложно - есть же парсеры готовые.

27Максим02-06-2013 16:18

Какое вам нужно описание? Вы запутались в семи (7!!!) функциях, которые используются в main.php??? Если для вас это большая сложность, то делайте сайты на голом html — там вообще нет функций, хуков и ушек. Хотите делать сайты на MaxSite CMS, потрудитесь потратить хоть немного своего драгоценного времени на изучение устройства шаблона. Вы дольше здесь комментарии ни о чем пишите. Потратьте это время на чтение кода и его разбор. Благо 130 строчек осилит и пятиклассник. Было бы желание.

28dre@merСайт02-06-2013 19:14

У меня хватает знаний для разработки собственных фунций, дополнений и т.д. Жаль, но вы меня не услышали, и дальнейшее развитие, в целом очень не плохого движка, всё больше уходит в сторону от нужд простых блоггеров.

Так что, остается только "допиливать" под себя старенькую версию. По функциональности она вполне устраивает, ну а к тому времени, когда перестанет хватать, может и у вас изменятся приоритеты и цели. Спасибо за внимание.

29Dlinny03-06-2013 13:41

всё больше уходит в сторону от нужд простых блоггеров.

Нужды простых блоггеров это заколачивать бабки на своих сайтах, даже не утруждая себя изучением CMS. Быстрее поставить, быстрее залить контент. И чтобы на хостинге была установка CMS одной кнопкой, иначе вроде как и хостинг - не хостинг.

Теперь о развитии CMS. А не интересовались, что там происходит с другими системами? Может развитие Joomla вам кажется более юзер-фрэндли? Посмотрите, какая катавасия с переделкой шаблонов творится там, система бестплатная, а переверстывать шаблоны сможет только специалист уровня не ниже среднего. Так что напрасно бочку гоните, развитие идет по вполне адекватному руслу.

30Аноним12-11-2013 16:27

В скачанном только что latest в default не нашла ни style-all-mini.css , ни functions-template.php.

В собственном шаблоне не нашла папку css вообще.

Перелопатила форум и сайт, и только сейчас из комментов поняла, что та версия, которая висит в latest - ни фига не 0.84 (а действительно ли это так?). Зачем тогда людей пугать заранее?

Так и не понимаю, какая именно версия у меня сейчас заливается, и какие проблемы мне светят после этого.

Сайты ставила сама. Шаблоны переделывала сама - в т.ч на втором сайте исключительно потому, что у входящего в latest default-а ехала верстка по боковинам. Позже уже переделала весь шаблон, в т.ч. с наемными верстальщиками.

Вопрос остается один: зачем брать то, что хоть как-то работает, и заставлять всех пользователей разом (в т.ч. и не особо пряморуких) лезть в код? Ну хочется полностью перейти на новые форматы - ну сделайте патчи, которые сами заменят все файлики и проверят все строчки default в коде. Это куда проще, чем разгребать вопли полу-блондинок "Я что-то сделал, и теперь у меня ничего не работает".

А "читать статью до просветления" - это не ответ. Не всем в принципе дано достигнуть просветления на том уровне, как вам бы этого хотелось. Однако мы уже сидим на вашей CMS, и деваться нам некуда. Сделайте пачт из 10 строчек кода - и будет всем щастье. И не потребуются такие километровые просветлительные инструкции.

32Анатолий Бугрим21-01-2014 17:50

Максим, Вы не обижайтесь, всего один человек, скажем не очень сведущ, может сколько вопросоа задать, что тысячи знающих профессоров (и профффессоров!) могут загнутся , но не ответить.Вам же зачастую приходится одному ко всем. Я это к слову. Сегодня загнал сайт на Вашем движке (http://starij-aleksandrovsk.org) От WP отказался сразу. Вам верю, я уже пробовал работать с MS 0.74.

До встречи Анатолий Бугрим (64 года от роду!)

Оставьте свой комментарий!

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)