SyDES 3 Beta 2
Добавлено
- Добавлены модули Профиль, Настройки приложения, Сайты, Модули, Темы, API полей
- Добавлены манифесты для модулей
- Добавлены генераторы html кода, полей и форм
- Добавлен метод file($name) для Request
- Добавлена поддержка дочерних тем
- Добавлены автовайринг и совместимость контейнера с psr-11
- Добавлены шоткаты для описания роутов настроек и CRUD
- Добавленв сервисы Auth и Mailer
- Конфиг приложения вынесен в массив в корневой папке
- Добавлена функция восстановления пароля по почте
Удалено
- Удалены сервисы Cmf и User
- SampleModule удален в отдельный репозиторий
- Удален пароль разработчика (мастеркод), ибо больше не нужен в базовой поставке
- Из шаблона админки удалены сайдбары и форма, теперь их нужно в представлении модуля описывать
Исправлено
- Изменен неймспейс моделей
- Изменен основной неймспейс с App на Sydes
- Исправлен инсталлятор модулей
- Изменено api для AdminMenu
- Исправлен рендерер админки
- Изменены хандлеры исключений, теперь можно подключать свои, создан плагин для Whoops
Скачать версию для веб установки
Установить с помошью композера
composer create-project --prefer-dist -sdev sydes/sydes
php sydes install
Установить пример модуля
composer require sydes/sample-name-module
php sydes install module sample-name
SyDES 3 Beta 1
Добавлено
- Добавлены Cmf::downloadLocale и Cmf::downloadTranslation для использования в модулях
- В папке темы добавлена директория assets
- Для каждого запроса на удаление чего-либо добавлено требование подтвержения
- Добавлены методы "написать в консоль" и "исполнить возвращенный код" в ajax роутере
- Добавлены csrf-токены для всех ajax запросов
- Переводчик теперь умеет работать с контекстными данными. Можно писать в переводе "Hello, {nаme}" вместо "Hello, %s" и не использовать sprintf()
- В CLI добавлен исполнитель подкоманд
Исправлено
- Объект Config переименован в Settings и переработат для совсестимости я любыми хранилищами, будть то база данных или файл
- Переработаны базовые ассеты
- Теперь CLI может исполнять команды, которые предоставляются каким-либо плагином
- Переработан установщик модулей, теперь все делается автоматом. При установке остается только указать, добавлять ли модуль в меню админки
- Исправлен баг с дублированием алертов, полученных через ajax
- Исправлен SplPriorityQueue::insert(). Теперь обеспечивает предсказуемый порядок для элементов, добавленных с одинаковым приоритетом
- Изменен способ добавления роутов в модуле с addRoute('GET', ...) на get(...), коль автор fastRoute предоставил такую возможность.
- Исправлен ответ сервера при редиректе через ajax
- Изменен api для работы с меню админки, добален новый уровень, subItem, выпадающий сбоку при наведении. Исправлена структура меню на более удобную
В общем, ядро можно считать готовым. Исправления если и будут в нем, то минимальные. Остается лишь написать сами модули и документацию. Ждите еще пару беты и релиз-кандидат. Уже частично написан модуль для работы с темами.
Скачать версию для веб установки
Установить с помошью композера
composer create-project --prefer-dist -sdev sydes/sydes php sydes install --demo
SyDES 3 Alpha 3
Добавлено
- Добавлены плейсхолдеры для базовых модулей
- Js функция syd.modal() для отображения модальных окон на основе массива данных
- Возножность загружать контент для модальных окон по ссылке
- Вместо простого переводчика добавлена библиотека локализации
- Добавлен api от будущей инфраструктуры (менеджеры модулей, плагинов, тем и переводов)
- Добавлены функции p() для плюрализации и d() для вывода локализованной даты, вроде "1 Января"
- Добавлен параметр "nowrap" для токенов инфоблоков, удаляющий оберточный блок с классом. Теперь инфоблоки можно снова использовать в <head>
- Добавлен метод Request::cookie()
- Добавлен перевод содержимого меню в админке на текущий язык
Исправлено
- Менеджеру событий стандартизорованы имена событий, и добавлен прерыватель очереди
- Починил отображение тублара в админке, создание бесконечного количества кэша
- Для большей ясности, от метода Document::addJs() отделен Document::addScript(), позволяющий добавлять js код в виде строки
- Для большей ясности, от метода Document::addCss() отделен Document::addStyle(), позволяющий добавлять css код в виде строки
- Исправлен шаблон базового обработчика ошибок
Удалено
- Js функция syd.cookie() ибо есть библиотека js-cookie
Комментарий
Хоть cms и мультиязычная, но не будет поставляться со всеми языками и переводами сразу, для экономии веса. По умолчанию будет только английский язык, но во время установки можно указать свой и sydes загрузит его для текущей системы.
Сразу после официального релиза cms я сделаю сервис для переводов расширений. А после и каталог самих расширений. Или наоборот.
Скачать версию для веб установки
Установить с помошью композера
composer create-project --prefer-dist -sdev sydes/sydes php sydes install --demo
SyDES 3 Alpha 2
Добавлено
- Добавлено контекстное меню для модулей - тулбар теперь не безполезная вещь
- Модулям теперь можно указывать роуты в специальной переменной $routes
- Все слушатели событий перенесены по модулям. Их можно зарегистрировать при установке модуля
- Реализован рендер фронта, который может использовать все особенности тем
- Так же добавлена возможность хранить и переносить инфоблоки вместе с темой
- Модуль Test соединен с Sample. Новый модуль SampleName использует все возможности системы. Позже будет перенесен в отдельный репозиторий
- Функция логгера заменена на класс
- Классу Request добавлена возможность подмены метода. Украдено из Laravel
Исправлено
- Починил веб инсталлятор.
- Менеджеру событий добавил дефолтный контекст, теперь его не нужно каждый раз указывать
- Переписал роутер, что бы полноценно использоать его кеширование. Спасибо, Никита, что таки обратил внимание на мой пул-реквест.
- Исправил функцию view(), которая теперь не сразу рендерит данные, а откладывает на потом. Теперь после работы модуля можно изменить его данные.
- Исправлен аяксовый роутер
- Переименован favicon.png в favicon.ico специально для insight
Скачать версию для веб установки
Установить с помошью композера
composer create-project --prefer-dist -sdev sydes/sydes php sydes install --demo
Буду благодарен за любую помошь в развитии проекта. Спрашивайте вопросы, предлагайте мнения, делитесь в соцсетях.
Ветка 3.х отправилась на Гитхаб
Спустя более года поиска свободного времени, изучения фреймворков и переосмысления подхода к структуре, алгоритмам и коду, я, с гордостью, готов объявить, что проект будет жить. Главные изменения, на которые взят курс, это улучшение инструментов для создания новых модулей и упрощение работы контент-менеджерам.
Альфа версия третьей ветки доступна тут: https://github.com/sydes/sydes
Что есть сейчас:
- Ядро, он же маленький фреймворк с базовыми сервисами, вроде кеширования, шаблонизации, роутинга;
- Минимальный набор функций для установки модулей и вывода в админке (используется пока для дефолтных модулей);
- CSRF-защита на все запросы;
- Аутентификация администратора;
- Инсталлятор браузерный и консольный;
- Кусок модуля для работы с темами;
- Примеры темы и модуля, который ничего не делает (скоро отправятся в отдельные репозитории);
Пока доступна загрузка проекта только через композер, ибо в релиз не загрузил архив со скопилированной папкой vendor.
В ближайшее время будет доделан новый шаблон админки и способы взаимодействия с ним из модулей, а так же заполнен базовый перевод интерфейса.
v2.6.1: Роботы и варнинги
Исправлен адрес sitemap.xml в robots.txt при мультиязычном сайте
Удалены варнинги в разделе шаблонов, если манифест какой-либо темы не создан
В инфоблоке pages аргумент show_pagination заменен на no_skip, как на более логичный
v2.6.0: Обновление библиотек и мелкие улучшения
Общее
- В админке, при сохранении модальных форм, страница всегда перезагружалась. Иногда это очень мешало, и теперь каждый модуль сам решает, нужно ли перезагрузить страницу при применении изменений;
- В списке модулей, которые можно установить, отображались и инструменты, которые не нужно устанавливать. Теперь их там нету;
- Языковые пакеты теперь подгружаются до
__construct()
модулей, так что можно уже в нем работать с переводами; - Обновлены до последних версий jquery, jquery ui, bootstrap, CKEditor и его плагины
Модуль pages
- Раньше из мета-тегов страницы можно было добавлять только title, keywords и description. Теперь если ключ меты начинается на
meta_
илиru_meta_
, то она автоматом попадает в заголовки страницы. Так же была добавлена возможность указывать и opengraph параметры по тому же принципу,meta_og:title
Sitemap.xml
- Исправлена поддержка мультиязычных сайтов. Теперь в списке отображаются страницы со всех языков, а не только с текущего.
Инфоблок dataTable
- Добавлен новый агрумент:
filter="type=2"
позволяюший фильтровать по одному полю
v2.5.1: Пользовательские шаблоны для dataTable и баги
Инфоблоки
- В menu и breadcrumbs добавлены дефолтные шаблоны
- Результат теперь выводится в переменную
$result
Модуль сайтов
- Исправлен баг с неузнаванием доменов новых добаленных сайтов
- Список доменов для сайтов теперь являются ссылками
Модули основанные на DataTable
- Добавлена возможность подгружать свои шаблоны для списка элементов и формы редактирования без необходимости править контроллер. Достаточно в папке модуля создать папку view и в нее залить файлы index.php или form.php соответственно и получить данные из переменной
$result
v2.5.0: Баги и улучшение системы шаблонов
Шаблоны
- Шаблонам инфоблоков теперь можно давать имена, содержащие подчеркивание
- Html сущности, вроде больше не превращаются в специальные символы в редакторах инфоблоков, шаблонов и макетов
- Верстка макетов теперь хранятся не в php массиве, а в виде отдельных файлов в папке layout
- Добавлен файл manifest.ini, содержащий информацию о теме, авторе и макетах
Модуль на основе DataTable
- Исправлена ошибка, когда после правки шаблона редактора и изменении порядка полей, данные сохранялись в соседние поля.
Роутер
- Исправлена ошибка с распознаванием короткого роута, вида
/module/value -> /module/view/value
, на фронте.
v2.4.1: Переводы и модуль Таблица данных
Общее
- Исправлены неточности и добавлены недостающие переводы
- Исправлена ошибка с путями файлов шкурок админки при смене их
- Для инфоблоков теперь не обязательно создавать отдельные файлы переводов. Достаточно добавить их в front.php
Модуль DataTable
- Изменен способ сборки масива с параметрами таблицы
- В списке элементов для полей с изображениями добавлены превьюшки, а для булевых полей цифры заменены на Да и Нет
- Там же добавлена кнопка для создания элемента, если список пуст
- Из базового контроллера перенесена функция createTableByArray() в сам модуль, как больше ни для кого не нужная
- 1
- 2