В MaxSite CMS 0.92 довольно много изменений и улучшений. Затронуты многие файлы системы, от установки, ядра до админ-панели. С этой версии можно пользоваться автоустановщиком, который не только значительно ускоряет загрузку системы, но и позволяет быстро обновиться до новой версии. Правда, я всё-таки рекомендую обновлять только версии старше 0.90. Для более ранних версий лучше использовать универсальный вариант обновления.
На странице Информация в админ-панели теперь автоматическая проверка новых версий. Раньше требовалось нажать специальную кнопку, теперь это iframe, который выдаёт всю необходимую информацию. Также на этой странице обновились полезные ссылки, касаемые MaxSite CMS.
Уж коли затронули админ-панель, то с неё и начну. В первую очередь отмечу новую страницу Файлы. На этой странице можно отредактировать любой файл текущего шаблона. Достаточно выбрать нужный файл из списка. Сохранение происходит в фоновом режиме без перезагрузки страницы.
Следующая возможность понравится тем, кто добавляет много кода в текстовые поля textarea. Возле каждого такого элемента располагается иконка полноэкранного режима.
В этом режиме окно текстового блока размещается на весь экран браузера, что несколько упрощает работу с ним для больших текстов. Сам js-скрипт написал Юра (Сuprum), за что ему огромное спасибо! Теперь работать стало на порядок удобней.
Следующее серьёзное изменение — это перетусовка опций. У нас настройки размещены частично на странице Основные, частично на странице Шаблон. За длительный период они между собой переплелись. Поэтому я решил их перетусовать так, чтобы в Основных располагались настройки, по возможности единые для всего сайта, не зависимо от шаблона, а в Шаблоне уже опции более ориентированные непосредственно на сам шаблон и которые чаще меняются.
Сами опции также немного поправил и кое-где разбил на части. Например выделил в отдельную вкладку Главная (units), где можно задать юниты главной страницы.
Надеюсь, что с опциями будет теперь больший порядок.
Из новых возможностей отмечу вкладку «Комментирование (внешнее)», где можно подключить любую внешюю систему комментирования, например Дискус.
При этом стандартное комментирование отключается.
Также отмечу, что настройках главной, теперь можно выбрать порядок и критерий сортировки записей. Традиционно это всегда был обратный порядок по времени публикации записей, теперь же вы можете выбрать произвольный вариант.
По Default-шаблону. Он обновлен на новую версию UniCSS, где довольно много новых возможностей. Например новые цвета, обновленный иконочный шрифт FontAwesome и т.д. Я особо отмечаю этот момент, потому что UniCSS позволяет использовать все свои возможности не только при верстке и создании шаблона, но и при оформлении записей, ушек, опций и т.п.
Немного изменился подход к заданию опций шаблона. Напомню, что технически опция именуется по ключу и типу. В основном для шаблона использовался тип templates — это произвольное именование, просто так традиционно сложилось. Из-за того, что именование опций в разных шаблонах совпадало, получалось, что опция была доступна сразу для всех этих шаблонов. Теперь мы немного меняем эту схему и указываем в типе опции название шаблона. Например для компонента Top1:
Было (получение опции):
mso_get_option('top1_block', 'templates', '')
Стало:
mso_get_option('top1_block', getinfo('template'), '')
Задание опции в ini-файле. Было:
options_key = top1_block options_type = templates
Стало:
options_key = top1_block options_type = "<?php echo getinfo('template') ?>"
Таким образом для шаблона default опция будет иметь другой тип, нежели для любого другого шаблона. Данный механизм позволяет создавать назависимые опции между шаблонами. Вебмастера, которые работают с несколькими шаблонами одновременно, оценят данный подход. Конечно, для некоторых компонентов, вроде соц.иконок и меню, лучше использовать общие опции.
Для вебмастеров будет интересны новые возможности юнит-файлов для главной. Теперь без подключения внешнего unit-файла обрабатываются варианты: html, require, ushka, component и option_key/option_type/option_default.
Например:
[unit] html = произвольный html-код [/unit] [unit] require = файл (относительно каталога шаблона) [/unit] [unit] ushka = ушка [/unit] [unit] component = top1 [/unit] [unit] option_key = опция option_type = тип option_default = дефолтное значение [/unit]
Но это ещё не всё. В юните можно указать php-условие _rules, при которм юнит будет выведен. Подобный вариант условий отображения давно уже применяется при выводе виджетов.
[unit] _rules = is_type('home') html = текст для главной [/unit]
В заключении отмечу ещё одну возможность MaxSite CMS (все мелкие правки я опускаю) — это переключение языка админ-панели.
Языковые файлы я взял старые, поэтому новая возможность это больше задел на будущее и сигнал для локализаторов. Сама схема перевода осталсь прежде, поэтому трудностей быть не должно. Пока поддерживаются 5 языков. Если появятся новые, то подумаю о подключении.
Комментариев: 35 RSS
1DrKoFe28-09-2015 22:13
Мои овации, Макс! Новая версия просто великолепна!
2Илья ЗемсковСайт29-09-2015 07:35
Интересно было бы почитать обновлённый roadmap дальнейшего развития движка. Кроме допиливания хвостов верстки в админке и т.п. Максим, есть идеи на будущее?
3Rudic29-09-2015 09:24
Отличные новости! Скачаю и испытаю. Спасибо!
4Максим29-09-2015 09:40
Из особых задач пока только второй дефолтный шаблон с разметкой на всю ширину браузера. Пока думаю над идеями с дизайном.
5Алекс29-09-2015 22:36
Ув. Максим! Не во гнев будет сказано, а можно вместо второго дефолтного поместить в качестве образца сторонний не дефолтный, а "пользовательский"? Сымитировать, как если бы шаблон ставил не сам разработчик, а среднестатистический грамотный пользователь движка.
Т.е. я, к примеру, передам Вам графический и главное НТМЛ-макет из старых запасов. Или в доступной сети (напр., templated.co) можно взять известный свободный НТМЛ-макет на Ваш вкус.
Ведь же и правда - всем дизайнерам будет огромное облегчение в освоении движка на таком примере, когда по максимуму сохранится принадлежащий заказчику "пользовательский" НТМЛ-код страниц, отличный от дефолтного MS CMS. По кр. мере, для меня появится надежда увидеть таки свет в конце тоннеля шаблоностроения в MS CMS.
6Максим30-09-2015 09:41
Если вы хотите использовать готовый html-шаблон, то для переноса его в шаблон MaxSite CMS потребуется разбить код на составные части: шапка, подвал и контент/сайдбар. Шапка и подвал — это компоненты. Контент и сайдбар — это main-шаблон. Я уже объяснял — выполнять чужую работу просто так не буду. Обучение — только за деньги. Иначе это всё не имеет смысла. Новый шаблон, естественно, я буду делать по своему, со своей версткой. Она основана на UniCSS и любой вебмастер может делать аналогично. Бует проще и быстрей сверстать заново по существующему дизайну, чем переделывать чужую и как правило некачественную верстку.
7Иван Сиренко01-10-2015 16:34
Движок обновляется и это радует!!!
Поставил новую 0.92 версию на локальный сервер системы Денвер. Установку пробовал через инсталлятор. Первый раз всё кириллические буквы не отобразились: набор символов да и только. После обновления страницы всё ОК! Всё читается. Установка понятная, затруднений не вызвала. Базу данных подключил готовую. Для нормальной работы пришлось изменить кодовое слово в mso_config.php и сбросить кэш.
Что могу сказать? Из положительных моментов красивые эффекты в админ панели и возможность редактирования файлов. В частности, можно оперативно отредактировать style.css. Из пожеланий: вернуть кнопки «Сообщений» в редактор editor_markitup.
Что огорчает: Такое чувство, что новая 0.9х версия создана для узкого круга программистов. Поясню. Раньше, в старых версиях всё собиралось из админпанели, как кубики, как конструктор ЛЕГО, затем всё компоненты «раскрашивались» в «нужные цвета» в файле var_style.css. Получался оригинальный сайт, который мог создать простой пользователь, малознакомый с программированием, достаточно было знать html и css. Я так и делал.
Сейчас же, для того чтобы сделать оригинальный дизайн придётся перелопачивать все (или почти все) php-файлы шаблона… Ну это под силу только знатокам движка. Надо знать, где что находится и выводиться. Простым пользователям, которые ведут блоги на темы не связанные с веб-дизайном, придётся интуитивно, методом проб и ошибок ковырять код. Не всем это под силу, поэтому, 80-90% пользователей останутся на старых версиях. Вот такое моё мнение…
8Максим01-10-2015 18:37
Мне вот просто интересно, какие именно php-файлы вы собираетесь «перелопачивать» и почему их нужно менять все?
9Валентин01-10-2015 19:29
Здравствуйте Максим, А можете ли вы добавить в раздел общих настроек, во вкладку мета тегов, поле для дополнительных мета тегов для подтверждения сайта от Yandex, google и других систем.
Также для онлайн переводчиков... да мало ли что нужно добавить в секцию Head, чтобы не заходить через ftp.
Также удобно было бы прямо из админки вставлять коды счётчиков.
Ещё вопрос как от незрячего, можно ли подписать в админке четыре ссылки "Просмотр сайта, Консоль, Мой профиль, Выход" а также на пользовательской части ссылку "редактировать статью".
На версии ниже 90 всё озвучивалось хорошо. В коде ссылок имеется атрибут Title, но почему то в наших программах экранного доступа он не озвучивается.
Пробовал самостоятельно в шаблоне админки добавить в тех местах где должен быть анкор, фрагмент кода взятый из версии 0.86, но не чего не изменилось.
Спасибо вам от тотальников за удобную cms!
10Максим01-10-2015 19:53
Для секции HEAD используются ушки head и google_analytics_top. Для счетчиков внизу можно использовать ушки footer-start, footer-end, google_analytics, body_end. Там еще куча других под разные части шаблона.
По title не совсем понял задачу. Я посмотрел, там вроде бы везде всплывающая подсказка прописана.
11АлександрСайт01-10-2015 22:31
В новой версии множество настроек доступно из админки. Практически все можно делать не заходя на хостинг. Прикольно. Остается только включать фантазию. )))
12Иван Сиренко03-10-2015 09:05
Конечно, не все файлы «перелопачивать».
Например: Нам надо поменять стили подвала. «Просмотром кода элемента» в Хроме видим, что footer имеет стили: «pad20 bg-gray700 t-white bor6px…». В файле style.css div.footer я не нашел (в предыдущих версиях было), соответственно стили подвала прописаны не в нём. Захожу в …\components\footer-copy-stat\footer-copy-stat.php и там тоже нет стилей. Значит, они прописаны в другом месте. Где? Идем искать в других файлах… Искомый код оказался в …\main\main.php.
Пример 2: Допустим, надо увеличить отступ сверху у сайтбара. «Просмотром кода элемента» в Хроме видим, что сайтбар имеет стили: «w30 w100-tablet pad20…». В файле style.css div.sitebar нет. В каком файле искать стили??? По опыту уже знаю, что в …\main\main.php, но до этого я не сразу дошел.
p.s. Процесс увлекательный, но требует много времени… Начинает получаться!
13Максим03-10-2015 10:38
Таким образом, мы пришли к выводу, что менять придется только один файл — main.php. Дальше подскажу — компоненты меняются в components, а некоторые специфичные файлы в type_foreach. При этом даже не нужно менять css-стили, а сразу прописывать unicss-классы. То есть «кучи», как вы утверждаете, нет.
14Иван Сиренко04-10-2015 09:18
Это хорошо, что менять надо только в main.php. Сейчас немного разобрался, - начало получаться. Ничего сложного нет. Если возникнут вопросы, - спрошу на форуме. СПАСИБО!!!
15ЭдуардСайт04-10-2015 16:23
Максим, а не думали ли вы перенести Макссайт на codeigniter третьей версии? Я пытался сделать это самостоятельно, пока обнаружил только одну проблему: ошибка в common/page.php на строке 219: обращение к приватному методу _compiled_select(). Пока не очень понял, как исправить.
16Максим04-10-2015 16:57
Нет, пока не думал. Да и пока не вижу преимуществ третьей версии.
17ЭдуардСайт04-10-2015 17:11
Еще один дурацкий вопрос: Могу ли я использовать MaxSite CMS в своем проекте? Свой проект заключается в создании сайтов для специалистов некой узкой направленности.
18Максим04-10-2015 17:31
MaxSite CMS лицензируется по GPL-2. При сохранении копирайтов используйте без проблем.
19ЭдуардСайт04-10-2015 17:53
Тогда еще один, но немножко из другой оперы.
Не было бы удобнее разработчикам использовать вместо такой функции:
require_once(getinfo('common_dir') . 'page.php');
вот такую:
CI->load->helper('common');
Разница наверное несущественна и метод load->helper() один черт подключает соответствующий файл через require(), но для нового человека, который может чуточку изучал фреймворк сходу врубиться проще.
У нового человека когда возникает необходимость добавить в проект новый файл, вопрос "куда его положить", не стоит. Если это новый класс, значит библиотека "application/libraries", а если просто набор функций- значит хелпер "application/helpers".
20Максим05-10-2015 10:24
Это лишнее.
21Black SniperСайт06-10-2015 14:19
Подскажите дэбилу, что такое могло измениться, что при переходе с версии 0.863 на 0.92. Идёт Database not connected. Возвращаю всё обратно - работает.
22Максим06-10-2015 14:53
https://github.com/maxsite/cms/blob/dev/install/readme/install-ru.txt
23Black SniperСайт06-10-2015 16:00
Я там был... но я видимо ещё и слепой увидел только фигу.
24temish12-10-2015 16:51
подскажите пожалуйста. А куда делись все components, или можно ли подключить компонентс из версии 0.86
25Максим12-10-2015 18:04
Можно, только там другая разметка и css-стили.
26temish12-10-2015 21:27
Большое спасибо. Уже понял. стили сам пропишу
27Аноним17-10-2015 18:23
Зашёл проведать, как идёт разработка CMS и порадовался. Очень приятно, что при установке не нужно лезть в файлы. Цветовая гамма дефолтного шаблона выглядит лучше синего варианта.
28ЭдуардСайт31-10-2015 08:07
Максим, а для чего нужна функция mso_segment_array(), если есть $this->uri->segment_array()? Это дань какой-то традиции или в ее существовании есть какой-то практический смысл?
29Максим31-10-2015 10:03
Вы описание функции смотрели?
30ЭдуардСайт01-11-2015 19:39
Так точно. Но при $config['enable_query_strings'] равной False эта функция абсолютный синоним $this->uri->segment_array() потому, что $_GET все равно не используется. Я по тому и спросил.
31Максим01-11-2015 21:20
А если используется? Там где не сегмент нужен, а именно get-запрос.
32ЭдуардСайт02-11-2015 02:57
А как это сочетается со значением переменной $config['permitted_uri_chars'] ?
33Максим02-11-2015 11:47
Я не понимаю, что вы от меня хотите. Пишите на голом CodeIgniter. Делов-то...
34Аноним11-07-2016 22:32
Самое сложное для меня после установки, это было разобраться какой ссылкой вызвать админ панель? Вот так вот... Нигде нет даже в разделе установка скрипта. Как вызывать админ панель. Выложите в инструкции по установке скрипта:
Благодарю за внимание...
35Максим12-07-2016 15:46
Есть же ссылка Вход.