Бесплатная CMS для вашего сайта Разумная альтернатива WordPress

MaxSite CMS 0.80

16-12-2012Время чтения ~ 5 мин.Versions 58243

Данная версия открывает новый этап развития системы. Основные изменения касаются нового способа построения шаблона, на т.н. shared-каталоге. В комплекте доступен новый шаблон D2, который демонстрирует все преимущества нового способа.

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

Само обновление следует выполнить по инструкции, расположенной в файле install-ru.txt. Так следует обновляться при любой версии MaxSite CMS. В следующих - обновление будет возможно привычной простой загрузкой новых файлов. Особо отмечу, что никаких изменений в базе данных не было, поэтому откатиться можно к любой версии MaxSite CMS простым копированием файлов.

Основные изменения, как я уже отметил, касаются shared-каталога и D2, поэтому большинство нововведений будут доступны только для будущих шаблонов. Все существующие варианты, основанные на default-шаблоне, полностью сохраняют свою функциональность и нет необходимости заботиться о переделке этих шаблона. Я полностью сохранил совместимость и никаких проблем с переходом на новую версию MaxSite CMS быть не должно.

В работе над этой версией, особенно того, что касается вёрстки, мне помогал Юра. Новая семантика HTML5 - это в основном его заслуга, мы достаточно много над этим работали, пока не «перекурили» кучу доков и отсеяли массу откровенного хлама.

Новую версию следует скачивать с Github:

Загрузка с гиххаба

Основные изменения.

  • Отказ от визуального редактора по-умолчанию. Теперь по-умолчанию используется невизуальный редактор Editor markItUp. Существующий визуальный редактор переместился в плагины как Editor JW. О причинах я написал раньше.
  • Таким образом, если вы привыкли работать с визуальным редактором, то нужно активировать соответствующий плагин. Чтобы BB-код начал работать, следует активировать одноименный плагин.

  • В этой версии я удалил неиспользуемые каталоги CodeIgniter. Визуально стало чуть удобней.
  • В D2 новые компоненты (17 шт.). Некоторые из них используются как подкомпонеты, например меню, социконки и форма поиска. Мне хотелось продемонстрировать новые возможности, поэтому я включил сразу столько компонентов. Некоторые достаточно интересные, например слайдер slidesjs имеет много настроек. Подкомпонент _login позволяет выводить форму логина через кнопку dropdown-меню. На его основе я сделал компонент ns-menu-login. В целом данный функционал характерен для premium-шаблонов, здесь он доступен из коробки.
  • Шаблон D2 представляет собой улучшенную версию Default. Принципиальное отличие в том, что общешаблонные файлы, вроде type, вынесены выше в shared-каталог. Это позволяет не завязываться на другой шаблон, а безболезненно использовать общедоступные файлы. Именно для этого shared и предназначен. Поэтому в D2, стало меньше файлов и теперь там нет дублирующей функциональности.
  • Подключение некоторых файлов выполяется через аля-«диспетчеры». Это позволяет поддерживать модульность шаблона и системы в целом. Например в index.php шаблона диспетчер - это функция mso_dispatcher(). В type-файлых диспетчер это функция mso_find_ts_file(). Они достаточно «хитрые» и избавляют вебмастера от массы сложного запутанного кода.
  • По ходу дела я сразу решил ещё несколько проблем и поменял структуру некоторых каталогов. В первую очередь это type-файлы. Теперь все type-файлы находятся в своём подкаталоге. Аналогичную стуруктуру имеет и каталог компонентов. Каталог шаблона опций (options) содержит набор ini-файлов с настройками отдельных секций (вкладок).
  • Улучшена поддержка Less-css. То есть теперь вся верстка выполняется в less-файлах и на уровне системы автоматом компилируется в css-файл. Технически осталась возможность верстать на чистом CSS, но для продуктивной работы мы всё-таки будем использовать LESS. Автоматическая компиляция, как и прежде, доступна через mso_lessc(), пример см. в var_style.php. Вместе с тем я написал новый плагин Less compiling, который позволяет выполнять автоматическую компиляцию LESS-CSS для произвольных файлов. С ним просто указывается less-файл, css-файл и какие-то опции. Дальше всё работает автоматом.
  • Так же в mso_lessc() я реализовал поддержку расширяющих функций библиотеки LessPHP. Например можно придумать произвольную less-функцию и использовать в своём шаблоне. Кроме того, я сделал возможность автоматического подключения less-файлов через управляющие команды. Например @MSO_IMPORT_ALL_BLOCKS; подключит все файлы из подкаталога blocks. Примеры вы можете посмотреть в var_style.less.
  • Запись теперь может иметь свой шаблон вывода. Для примера я сделал main-шаблон no-sidebar. Само переключение реализовано через мета-поле.
  • Новое метаполе Изображение записи, позволяющее указать изображение, которое будет выводиться в тексте записи. «Плюшка» здесь в том, что файл изображения формируется через библиотеку Thumb. Она позволяет на основе любого изображения автоматически создать произвольную миниатюру с обрезкой, кропом и т.п. В настройках шаблона можно указать произвольные размеры изображения, а также css-класс.
  • CSS-фреймворк style-all-mini.css теперь находится в shared-каталоге. Присутствуют исходные less-файлы, что позволяет собрать версию для своего шаблона. Стили я подчистил, убрал лишние. Типографику немного подправил, добавил новые миксы/хелперы, которые можно использовать в своем шаблоне. Сюда же перенёс символьный шрифт Font Awesome. Он и раньше был в системе, только в admin-каталоге. Там же сделал font-awesome.less в виде хелпера для удобного использования.

  • Ну наверное это основные изменения о которых стоит упомянуть.

    Похожие записи
    Комментарии (31) RSS
    1 Stormtrooper 2012-12-16 18:44:14

    Спасибо за релиз :)

    Посмотрим что внутри


    2 Александр Шиллинг 2012-12-16 20:43:45

    Спасибо за обновления!


    3 Anonymous 2012-12-17 02:31:51

    а есть демо? или хотя бы скрины.

    или d2 это и есть этот шаблон который тут?


    4 Аноним 2012-12-17 14:24:10

    ПОдскажите пожалуйста..У меня сайт базируется на MaxSite CMS: 0.68

    Как безболезненно обновить до версии 0.8..или это нереально?

    Суть вопроса свести к минимуму количество манипуляций по установке версии 0.8 на 0.68


    5 Максим 2012-12-17 15:28:03 admin

    Читать инструкцию до просветления.


    6 Александр 2012-12-18 18:21:40

    Здравствуйте, Максим!

    Скачал MaxSite CMS 0.80. Все супер, включил шаблон D2. Решил попробовать слайдер. Он работать работает, что-то там мотает туда обратно, но ни изображения, ни текст к ним, вообще ничего в него не загружается. Получается что html-разметка слайдов все же выводится на страницу и обрабатывается скриптом, но переменные с текстом и url пустые.

    Вопрос - как быть?)))


    7 Максим 2012-12-18 19:04:03 admin

    Нужно указать изображения в настройках.


    8 Александр 2012-12-18 19:05:16

    Извиняюсь! Вопрос снят! Причина - перетрудился и соответственно запутался в трех соснах, предыдущий коммент прошу удалить!)))


    9 Дмитрий 2012-12-19 11:56:59

    Здравствуйте, Максим.

    На чел рассматривать ваш новый релиз.

    Очень понравилась структура компонентов именно этого и не хватала.

    Правда есть и свои недостатки.

    Сейчас по пробывал перенести шаблон в старую версию maxsite

    и сразу выскочила ошибка.

    A PHP Error was encountered

    Severity: Warning

    Message: require_once(functions/template.php) [function.require-once]: failed to open stream: No such file or directory

    Filename: d2/functions.php

    Line Number: 18


    10 Сергей 2012-12-19 12:08:24

    Доброго времени суток, Максим!

    После обновления версией 0.80, перестала на шаблоне default - работать гостевая книга. Это только у нас или?


    11 Максим 2012-12-19 12:26:21 admin

    Да, действительно, есть такое дело. Выложу исправление на гитхабе как 0.801.


    12 Аноним 2012-12-19 21:31:38

    Я правильно понял, после обновления больше не требуется устанавливать правила 777 на папку кмша и аплоадс ?


    13 Александр 2012-12-20 21:21:15

    Классная штука. Работает великолепно. Максу большое спасибо!

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


    14 Александр Шиллинг 2012-12-22 07:33:13
    Я правильно понял, после обновления больше не требуется устанавливать правила 777 на папку кмша и аплоадс ?

    По идеи нет. Но иногда права сбрасываются и поэтому не помешает проверить какие права у вас стоят.


    15 Аноним 2012-12-22 19:28:24
    По идеи нет. Но иногда права сбрасываются и поэтому не помешает проверить какие права у вас стоят.

    У меня сейчас стоят права 755, но в новом файле install-ru.txt не сказано, что правило надо менять. Я так и не понял, теперь надо ставить правила 777 или нет ? В install-ru ничего об этом не сказано.


    16 vovans 2012-12-23 07:27:05

    Их без необходимости никогда и не нужно было ставить в 777. Если у вас всё делается от одного пользователя, то вообще ничего менять не нужно. Хоть 700 ставьте. Какой вообще смысл в 777? Так делают только в тех случаях, когда вообще не понимают, какие права нужны.


    17 Аноним 2012-12-23 18:57:38

    Спасибо за исчерпывающий ответ :)


    18 Александр 2012-12-24 21:42:39

    В файле application\maxsite\shared\type\category.php

    Есть такое содержимое

    if ($f = mso_page_foreach('category-do')) require($f);<br><br>if ($pages) // есть страницы<br>{  <br> echo NR2 . '<header>';<br><br> if ($f = mso_page_foreach('category-header')) <br> {<br> require($f);<br> }......

    А вот сам файл category-header.php нигде не нашел.

    Зато в category-do.php вроде как прописан вывод названия категории, но когда его кидаю в папку своего шаблона, то начинается ругань

    A PHP Error was encountered<br>Severity: Notice<br><br>Message: Undefined variable: title_page<br><br>Filename: type_foreach/category-do.php<br><br>Line Number: 6

    Вопрос в том, как сейчас лучше выйти из положения, так чтобы при следующем обновлении CMS все работало - сделать файл category-header.php и в нем прописать вывод названия категории или все же подправить category-do.php и оставить как есть???


    19 Максим 2012-12-24 21:52:12 admin

    Можно использовать любой type_foreach-файл в своём шаблоне.


    20 Сергей М 2012-12-28 21:28:21

    Стояла версия 0.78, поставил 0.804 и при подключении редактора Editor Markitup выскакивает следующая ошибка в админке:

    Fatal error: Cannot redeclare editor_markitup() (previously declared in D:\server\domains\localhost\application\maxsite\admin\plugins\editor_markitup\index.php:9) in D:\server\domains\localhost\application\maxsite\plugins\editor_markitup\index.php on line 98

    Когда выключаю редактор - переименовав его папку - админка грузится нормально.

    Что это за жук и как мне его задавить?


    21 Сергей М 2012-12-28 22:25:25

    А понял в чем дело.

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

    Ты может где отпиши, что перед обновлением отключите плагин маркитапа.


    22 Santery 2013-01-09 18:09:30

    Все отлично и летает! Но! Обнаружил ошибки

    я решил на основе D2 сделать новый шаблон по эскизам старого

    все сделал по инструкции

    но если мне, например, захотелось в папку type-foreach добавить файл info-top.php, то файл обрабатывается с ошибками

    Message: Undefined variable: page_slug

    и т.д.

    Решением оказалось добавить в код после

    <?php if (!defined('BASEPATH')) exit('No direct script access allowed');

    вот это

    extract($page);

    и все заработало

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


    23 Максим 2013-01-09 20:54:57 admin

    Это не ошибка. В shared используется шаблонизатор Page_out, поэтому вывод лучше делать через него.

    Новый вариант info-top.php

    $p->html(NR . '<header>');<br> $p->line('[title]');<br> $p->div_start('info info-top');<br>  $p->line('[date][edit][cat][tag][view_count]');<br> $p->div_end('info info-top');<br>$p->html('</header>');

    Для смены формата используется метод

    $p->format(...)

    24 Дима Тиунов 2013-01-10 09:40:53

    Привет Max,у меня при установке на мой локальный сайт выдаёт такие ошибки :

    A PHP Error was encountered

    Severity: 8192

    Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

    Filename: mysql/mysql_driver.php

    Line Number: 319

    A PHP Error was encountered

    Severity: 8192

    Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

    Filename: mysql/mysql_driver.php

    Line Number: 319

    A PHP Error was encountered

    Severity: Warning

    Message: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\localhost\system\core\Exceptions.php:185)

    Filename: libraries/Session.php

    Line Number: 675

    A PHP Error was encountered

    Severity: Warning

    Message: Cannot modify header information - headers already sent by (output started at C:\OpenServer\domains\localhost\system\core\Exceptions.php:185)

    Filename: libraries/Session.php

    Line Number: 675


    25 Александр 2013-01-10 15:12:46
    Ты может где отпиши, что перед обновлением отключите плагин маркитапа

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


    26 Sprat 2013-01-13 13:58:32

    Камрады, подскажите пожалуйста.

    Возможно ли обновить плагины, не обновляя саму cms?

    Не возникнет ли конфликтов в работе?

    Спасибо.


    27 Anonymous 2013-01-16 07:24:50

    После обновления не мог зайти в админ-панель. Получалась ошибка 500 (Google Chrome выдавал что-то вроде Internal Server Error). Посмотрел в лог на хостинге - оказалось то же самое, что у Серёги. Спасибо ему за подсказку. Присоединяюсь к просьбе добавить этот момент в инструкцию по обновлению. Я обновлялся по описанию в install-ru.txt


    28 Sasha Melbourne 2013-01-16 07:38:34

    а демо версию посмотреть можно? админки например


    29 Santery 2013-01-20 15:28:52

    еще вопрос возник - активно использую стандартное Превью записи

    с новой версией он пропал

    как мне его вернуть?


    30 ill head 2013-01-24 15:52:44

    вопрос. префиксы таблиц реализованы?


    31 ill head 2013-02-06 02:38:00

    Прошу прощения за предыдущий вопрос. Cкачал и увидел.

    Волнует следующее. Вы пишите, что удалили "неиспользуемые каталоги CodeIgniter".

    1) Значит ли это, что функционал этой версии CMS "заточен" под какой то узкий спектр задач/сайтов или на ней можно реализовать сайт любой сложности?

    2) Можно будет узнать какие именно каталоги вы удалили, чтобы восстановить полный CodeIgniter и какой версии?

    3) На ваш взгляд, "левому" программисту легко/доступно будет внести дополнения/изменения в админку?

    Спасибо.

    зы: CMS устанавливал один раз давно и версии не помню (0.6-0.7 примерно), чтобы поглядеть что это такое. Админка очень понравилась, описание создания шаблонов у вас тоже есть. Стоит задача рефакторить и развивать сайт test1.avtoritet.biz на фреймворке. Выбрал CI и решил перескочить через рутину и воспользоваться вашей CMS.

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