Блог

SyDES 3 Beta 2

Добавлено

  • Добавлены модули Профиль, Настройки приложения, Сайты, Модули, Темы, API полей
  • Добавлены манифесты для модулей
  • Добавлены генераторы html кода, полей и форм
  • Добавлен метод file($name) для Request
  • Добавлена поддержка дочерних тем
  • Добавлены автовайринг и совместимость контейнера с psr-11
  • Добавлены шоткаты для описания роутов настроек и CRUD
  • Добавленв сервисы Auth и Mailer
  • Конфиг приложения вынесен в массив в корневой папке
  • Добавлена функция восстановления пароля по почте

Удалено

  • Удалены сервисы Cmf и User
  • SampleModule удален в отдельный репозиторий
  • Удален пароль разработчика (мастеркод), ибо больше не нужен в базовой поставке
  • Из шаблона админки удалены сайдбары и форма, теперь их нужно в представлении модуля описывать

Исправлено

  • Изменен неймспейс моделей
  • Изменен основной неймспейс с App на Sydes
  • Исправлен инсталлятор модулей
  • Изменено api для AdminMenu
  • Исправлен рендерер админки
  • Изменены хандлеры исключений, теперь можно подключать свои, создан плагин для Whoops

Репозиторий на Github

Скачать версию для веб установки

Установить с помошью композера

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, выпадающий сбоку при наведении. Исправлена структура меню на более удобную

 

В общем, ядро можно считать готовым. Исправления если и будут в нем, то минимальные. Остается лишь написать сами модули и документацию. Ждите еще пару беты и релиз-кандидат. Уже частично написан модуль для работы с темами.


Репозиторий на Github

Скачать версию для веб установки

Установить с помошью композера

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 я сделаю сервис для переводов расширений. А после и каталог самих расширений. Или наоборот.


Репозиторий на Github

Скачать версию для веб установки

Установить с помошью композера

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

Репозиторий на Github

Скачать версию для веб установки

Установить с помошью композера

composer create-project --prefer-dist -sdev sydes/sydes
php sydes install --demo

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

Ветка 3.х отправилась на Гитхаб

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

Альфа версия третьей ветки доступна тут: https://github.com/sydes/sydes

Что есть сейчас:

  • Ядро, он же маленький фреймворк с базовыми сервисами, вроде кеширования, шаблонизации, роутинга;
  • Минимальный набор функций для установки модулей и вывода в админке (используется пока для дефолтных модулей);
  • CSRF-защита на все запросы;
  • Аутентификация администратора;
  • Инсталлятор браузерный и консольный;
  • Кусок модуля для работы с темами;
  • Примеры темы и модуля, который ничего не делает (скоро отправятся в отдельные репозитории);

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

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

Начало третьей ветки

С сегодняшнего дня прекращается разработка новых модулей и возможностей для ветки 2.х и все силы будут брошены на новую ветку. Впрочем найденные баги будут все равно исправлены.

Из того, что планируется реализовать:

  • Стандартизация и переосмысление всего и вся
  • Единая точка входа и возможности для фронта и админки
  • Создание модуля DataSource, преемника DataTable, который будет предоставлять api для работы с данными
  • Api вообще для всех модулей
  • Полноценные языковые пакеты, с плюрализацией и переводами дат
  • Визуальные настройки инфоблоков для ckeditor
  • Оптимизация и кеширование всего, до чего дотянутся руки
  • Добавление зависимостей модулям
  • Создание менеджера модулей и переводов, позволяющего загружать все с репозитория (а к нему и сам репозиторий)

Срок: под новый год

 

И да, опять предполагается отсутствие обратной совместимоти, во имя чистоты кода!

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
© Arthur Grand, 2011–2017
Powered by SyDES