<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>SyDES</title>
	<atom:link href="http://sydes.ru/rss/blog" rel="self" type="application/rss+xml" />
	<link>http://sydes.ru</link>
	<description></description>
	<lastBuildDate>Mon, 08 May 2017 01:00:00 +0700</lastBuildDate>
	<generator>http://sydes.ru</generator>
	<language>ru</language>
	<sy:updatePeriod>weekly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<item>
		<title>SyDES 3 Beta 2</title>
		<link>http://sydes.ru/ru/blog/upd/sydes-3-beta-2</link>
		<pubDate>Mon, 08 May 2017 01:00:00 +0700</pubDate>
		<guid isPermaLink="false">sydes.ru.60</guid>
		<description><![CDATA[Добавлено


	Добавлены модули Профиль, Настройки приложения, Сайты, Модули, Темы, 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]]></description>
		<content:encoded><![CDATA[<h3>Добавлено</h3>

<ul>
	<li>Добавлены модули Профиль, Настройки приложения, Сайты, Модули, Темы, API полей</li>
	<li>Добавлены манифесты для модулей</li>
	<li>Добавлены генераторы html кода, полей и форм</li>
	<li>Добавлен метод file($name) для Request</li>
	<li>Добавлена поддержка дочерних тем</li>
	<li>Добавлены автовайринг и совместимость контейнера с psr-11</li>
	<li>Добавлены шоткаты для описания роутов настроек и CRUD</li>
	<li>Добавленв сервисы Auth и Mailer</li>
	<li>Конфиг приложения вынесен в массив в корневой папке</li>
	<li>Добавлена функция восстановления пароля по почте</li>
</ul>

<h3>Удалено</h3>

<ul>
	<li>Удалены сервисы Cmf и User</li>
	<li>SampleModule удален в отдельный репозиторий</li>
	<li>Удален пароль разработчика (мастеркод), ибо больше не нужен в базовой поставке</li>
	<li>Из шаблона админки удалены сайдбары и форма, теперь их нужно в представлении модуля описывать</li>
</ul>

<h3>Исправлено</h3>

<ul>
	<li>Изменен неймспейс моделей</li>
	<li>Изменен основной неймспейс с App на Sydes</li>
	<li>Исправлен инсталлятор модулей</li>
	<li>Изменено api для AdminMenu</li>
	<li>Исправлен рендерер админки</li>
	<li>Изменены хандлеры исключений, теперь можно подключать свои, создан плагин для Whoops</li>
</ul>

<hr />
<p><a href="https://github.com/sydes/sydes">Репозиторий на Github</a></p>

<p>Скачать <a href="https://github.com/sydes/sydes/releases/download/3.0.0-b2/sydes-compiled-3.0.0-b2.zip">версию для веб установки</a></p>

<p>Установить с помошью композера</p>

<pre>
<code>composer create-project --prefer-dist -sdev sydes/sydes
php sydes install</code></pre>

<p>Установить пример модуля</p>

<pre>
<code>composer require sydes/sample-name-module
php sydes install module sample-name</code></pre>]]></content:encoded>
	</item>
	<item>
		<title>SyDES 3 Beta 1</title>
		<link>http://sydes.ru/ru/blog/upd/sydes-3-beta-1</link>
		<pubDate>Sun, 12 Mar 2017 01:00:00 +0700</pubDate>
		<guid isPermaLink="false">sydes.ru.59</guid>
		<description><![CDATA[Добавлено


	Добавлены Cmf::downloadLocale и Cmf::downloadTranslation для использования в модулях
	В папке темы добавлена директория assets
	Для каждого запроса на удаление чего-либо добавлено требование подтвержения
	Добавлены методы &quot;написать в консоль&quot; и &quot;исполнить возвращенный код&quot; в ajax роутере
	Добавлены csrf-токены для всех ajax запросов
	Переводчик теперь умеет работать с контекстными данными. Можно писать в переводе &quot;Hello, {nаme}&quot; вместо &quot;Hello, %s&quot; и не использовать sprintf()
	В CLI добавлен исполнитель подкоманд


Исправлено


	Объект Config переименован в Settings и переработат для совсестимости я любыми хранилищами, будть то база данных или файл
	Переработаны базовые ассеты
	Теперь CLI может исполнять команды, которые предоставляются каким-либо плагином
	Переработан установщик модулей, теперь все делается автоматом. При установке остается только указать, добавлять ли модуль в меню админки
	Исправлен баг с дублированием алертов, полученных через ajax
	Исправлен SplPriorityQueue::insert(). Теперь обеспечивает предсказуемый порядок для элементов, добавленных с одинаковым приоритетом
	Изменен способ добавления роутов в модуле с addRoute(&#39;GET&#39;, ...) на get(...), коль автор fastRoute предоставил такую возможность.
	Исправлен ответ сервера при редиректе через ajax
	Изменен api для работы с меню админки, добален новый уровень, subItem, выпадающий сбоку при наведении. Исправлена структура меню на более удобную


&nbsp;

В общем, ядро можно считать готовым. Исправления если и будут в нем, то минимальные. Остается лишь написать сами модули и документацию. Ждите еще пару беты и релиз-кандидат. Уже частично написан модуль для работы с темами.


Репозиторий на Github

Скачать версию для веб установки

Установить с помошью композера


composer create-project --prefer-dist -sdev sydes/sydes
php sydes install --demo]]></description>
		<content:encoded><![CDATA[<h2>Добавлено</h2>

<ul>
	<li>Добавлены Cmf::downloadLocale и Cmf::downloadTranslation для использования в модулях</li>
	<li>В папке темы добавлена директория assets</li>
	<li>Для каждого запроса на удаление чего-либо добавлено требование подтвержения</li>
	<li>Добавлены методы &quot;написать в консоль&quot; и &quot;исполнить возвращенный код&quot; в ajax роутере</li>
	<li>Добавлены csrf-токены для всех ajax запросов</li>
	<li>Переводчик теперь умеет работать с контекстными данными. Можно писать в переводе &quot;Hello, {nаme}&quot; вместо &quot;Hello, %s&quot; и не использовать sprintf()</li>
	<li>В CLI добавлен исполнитель подкоманд</li>
</ul>

<h2>Исправлено</h2>

<ul>
	<li>Объект Config переименован в Settings и переработат для совсестимости я любыми хранилищами, будть то база данных или файл</li>
	<li>Переработаны базовые ассеты</li>
	<li>Теперь CLI может исполнять команды, которые предоставляются каким-либо плагином</li>
	<li>Переработан установщик модулей, теперь все делается автоматом. При установке остается только указать, добавлять ли модуль в меню админки</li>
	<li>Исправлен баг с дублированием алертов, полученных через ajax</li>
	<li>Исправлен SplPriorityQueue::insert(). Теперь обеспечивает предсказуемый порядок для элементов, добавленных с одинаковым приоритетом</li>
	<li>Изменен способ добавления роутов в модуле с addRoute(&#39;GET&#39;, ...) на get(...), коль автор fastRoute предоставил такую возможность.</li>
	<li>Исправлен ответ сервера при редиректе через ajax</li>
	<li>Изменен api для работы с меню админки, добален новый уровень, subItem, выпадающий сбоку при наведении. Исправлена структура меню на более удобную</li>
</ul>

<p>&nbsp;</p>

<p>В общем, ядро можно считать готовым. Исправления если и будут в нем, то минимальные. Остается лишь написать сами модули и документацию. Ждите еще пару беты и релиз-кандидат. Уже частично написан модуль для работы с темами.</p>

<hr />
<p><a href="https://github.com/sydes/sydes">Репозиторий на Github</a></p>

<p>Скачать <a href="https://github.com/sydes/sydes/releases/download/3.0.0-b1/sydes-compiled-3.0.0-b1.zip">версию для веб установки</a></p>

<p>Установить с помошью композера</p>

<pre>
composer create-project --prefer-dist -sdev sydes/sydes
php sydes install --demo</pre>]]></content:encoded>
	</item>
	<item>
		<title>SyDES 3 Alpha 3</title>
		<link>http://sydes.ru/ru/blog/upd/sydes-3-alpha-3</link>
		<pubDate>Tue, 14 Feb 2017 01:00:00 +0700</pubDate>
		<guid isPermaLink="false">sydes.ru.58</guid>
		<description><![CDATA[Добавлено


	Добавлены плейсхолдеры для базовых модулей
	Js функция syd.modal() для отображения модальных окон на основе массива данных
	Возножность загружать контент для модальных окон по ссылке
	Вместо простого переводчика добавлена библиотека локализации
	Добавлен api от будущей инфраструктуры (менеджеры модулей, плагинов, тем и переводов)
	Добавлены функции p() для плюрализации и d() для вывода локализованной даты, вроде &quot;1 Января&quot;
	Добавлен параметр &quot;nowrap&quot; для токенов инфоблоков, удаляющий оберточный блок с классом. Теперь инфоблоки можно снова использовать в &lt;head&gt;
	Добавлен метод 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]]></description>
		<content:encoded><![CDATA[<h2>Добавлено</h2>

<ul>
	<li>Добавлены плейсхолдеры для базовых модулей</li>
	<li>Js функция syd.modal() для отображения модальных окон на основе массива данных</li>
	<li>Возножность загружать контент для модальных окон по ссылке</li>
	<li>Вместо простого переводчика добавлена библиотека локализации</li>
	<li>Добавлен api от будущей инфраструктуры (менеджеры модулей, плагинов, тем и переводов)</li>
	<li>Добавлены функции p() для плюрализации и d() для вывода локализованной даты, вроде &quot;1 Января&quot;</li>
	<li>Добавлен параметр &quot;nowrap&quot; для токенов инфоблоков, удаляющий оберточный блок с классом. Теперь инфоблоки можно снова использовать в &lt;head&gt;</li>
	<li>Добавлен метод Request::cookie()</li>
	<li>Добавлен перевод содержимого меню в админке на текущий язык</li>
</ul>

<h2>Исправлено</h2>

<ul>
	<li>Менеджеру событий стандартизорованы имена событий, и добавлен прерыватель очереди</li>
	<li>Починил отображение тублара в админке, создание бесконечного количества кэша</li>
	<li>Для большей ясности, от метода Document::addJs() отделен Document::addScript(), позволяющий добавлять js код в виде строки</li>
	<li>Для большей ясности, от метода Document::addCss() отделен Document::addStyle(), позволяющий добавлять css код в виде строки</li>
	<li>Исправлен шаблон базового обработчика ошибок</li>
</ul>

<h2>Удалено</h2>

<ul>
	<li>Js функция syd.cookie() ибо есть библиотека js-cookie</li>
</ul>

<h2>Комментарий</h2>

<p>Хоть cms и мультиязычная, но не будет поставляться со всеми языками и переводами сразу, для экономии веса. По умолчанию будет только английский язык, но во время установки можно указать свой и sydes загрузит его для текущей системы.</p>

<p>Сразу после официального релиза cms я сделаю сервис для переводов расширений. А после и каталог самих расширений. Или наоборот.</p>

<hr />
<p><a href="https://github.com/sydes/sydes">Репозиторий на Github</a></p>

<p>Скачать <a href="https://github.com/sydes/sydes/releases/download/3.0.0-a3/sydes-compiled-3.0.0-a3.zip">версию для веб установки</a></p>

<p>Установить с помошью композера</p>

<pre>
composer create-project --prefer-dist -sdev sydes/sydes
php sydes install --demo</pre>]]></content:encoded>
	</item>
	<item>
		<title>SyDES 3 Alpha 2</title>
		<link>http://sydes.ru/ru/blog/upd/sydes-3-alpha-2</link>
		<pubDate>Sat, 28 Jan 2017 01:00:00 +0700</pubDate>
		<guid isPermaLink="false">sydes.ru.56</guid>
		<description><![CDATA[Добавлено


	Добавлено контекстное меню для модулей - тулбар теперь не безполезная вещь
	Модулям теперь можно указывать роуты в специальной переменной $routes
	Все слушатели событий перенесены по модулям. Их можно зарегистрировать при установке модуля
	Реализован рендер фронта, который может использовать&nbsp;все особенности тем
	Так же добавлена возможность хранить и переносить инфоблоки вместе с темой
	Модуль Test соединен с Sample. Новый модуль SampleName использует все возможности системы. Позже будет перенесен в отдельный репозиторий
	Функция логгера заменена на класс
	Классу Request добавлена возможность подмены метода. Украдено из Laravel


Исправлено


	Починил веб инсталлятор.
	Менеджеру событий добавил дефолтный контекст, теперь его не нужно каждый раз указывать
	Переписал роутер, что бы полноценно использоать его кеширование. Спасибо, Никита, что таки обратил внимание на мой пул-реквест.
	Исправил функцию view(), которая теперь не сразу рендерит данные, а откладывает на потом. Теперь после работы модуля можно изменить его данные.
	Исправлен аяксовый роутер
	Переименован favicon.png в favicon.ico специально для insight



Репозиторий на Github

Скачать версию для веб установки

Установить с помошью композера


composer create-project --prefer-dist -sdev sydes/sydes
php sydes install --demo

Модули в админке пока не написаны. После установки интересное только на главной странице


Буду благодарен за любую помошь в развитии проекта. Спрашивайте вопросы, предлагайте мнения, делитесь в соцсетях.]]></description>
		<content:encoded><![CDATA[<h2>Добавлено</h2>

<ul>
	<li>Добавлено контекстное меню для модулей - тулбар теперь не безполезная вещь</li>
	<li>Модулям теперь можно указывать роуты в специальной переменной $routes</li>
	<li>Все слушатели событий перенесены по модулям. Их можно зарегистрировать при установке модуля</li>
	<li>Реализован рендер фронта, который может использовать&nbsp;все особенности тем</li>
	<li>Так же добавлена возможность хранить и переносить инфоблоки вместе с темой</li>
	<li>Модуль Test соединен с Sample. Новый модуль SampleName использует все возможности системы. Позже будет перенесен в отдельный репозиторий</li>
	<li>Функция логгера заменена на класс</li>
	<li>Классу Request добавлена возможность подмены метода. Украдено из Laravel</li>
</ul>

<h2>Исправлено</h2>

<ul>
	<li>Починил веб инсталлятор.</li>
	<li>Менеджеру событий добавил дефолтный контекст, теперь его не нужно каждый раз указывать</li>
	<li>Переписал роутер, что бы полноценно использоать его кеширование. Спасибо, Никита, что таки обратил внимание на мой пул-реквест.</li>
	<li>Исправил функцию view(), которая теперь не сразу рендерит данные, а откладывает на потом. Теперь после работы модуля можно изменить его данные.</li>
	<li>Исправлен аяксовый роутер</li>
	<li>Переименован favicon.png в favicon.ico специально для insight</li>
</ul>

<hr />
<p><a href="https://github.com/sydes/sydes">Репозиторий на Github</a></p>

<p>Скачать <a href="https://github.com/sydes/sydes/releases/download/v3.0.0-a2/sydes-compiled.3.0.0-a2.zip">версию для веб установки</a></p>

<p>Установить с помошью композера</p>

<pre>
composer create-project --prefer-dist -sdev sydes/sydes
php sydes install --demo</pre>

<div class="alert alert-warning" role="alert">Модули в админке пока не написаны. После установки интересное только на главной странице</div>

<hr />
<p>Буду благодарен за любую помошь в развитии проекта. Спрашивайте вопросы, предлагайте мнения, делитесь в соцсетях.</p>]]></content:encoded>
	</item>
	<item>
		<title>Ветка 3.х отправилась на Гитхаб</title>
		<link>http://sydes.ru/ru/blog/upd/version-3x-uploaded-to-github</link>
		<pubDate>Fri, 06 Jan 2017 01:00:00 +0700</pubDate>
		<guid isPermaLink="false">sydes.ru.55</guid>
		<description><![CDATA[Спустя более года поиска свободного времени, изучения фреймворков и переосмысления подхода к структуре, алгоритмам и коду, я, с гордостью, готов объявить, что проект будет жить. Главные изменения, на которые взят курс, это улучшение инструментов для создания новых модулей и упрощение работы контент-менеджерам.

Альфа версия третьей ветки доступна тут: https://github.com/sydes/sydes

Что есть сейчас:


	Ядро, он же маленький фреймворк с базовыми сервисами, вроде кеширования, шаблонизации, роутинга;
	Минимальный набор функций для установки модулей и вывода в админке (используется пока для дефолтных модулей);
	CSRF-защита на все запросы;
	Аутентификация администратора;
	Инсталлятор браузерный и консольный;
	Кусок модуля для работы с темами;
	Примеры темы и модуля, который ничего не делает (скоро отправятся в отдельные репозитории);


Пока доступна загрузка проекта только через композер, ибо в релиз не загрузил архив со скопилированной папкой vendor.

В ближайшее время будет доделан новый шаблон админки и способы взаимодействия с ним из модулей, а так же заполнен базовый перевод интерфейса.]]></description>
		<content:encoded><![CDATA[<p>Спустя более года поиска свободного времени, изучения фреймворков и переосмысления подхода к структуре, алгоритмам и коду, я, с гордостью, готов объявить, что проект будет жить. Главные изменения, на которые взят курс, это улучшение инструментов для создания новых модулей и упрощение работы контент-менеджерам.</p>

<p>Альфа версия третьей ветки доступна тут: <a href="https://github.com/sydes/sydes">https://github.com/sydes/sydes</a></p>

<p>Что есть сейчас:</p>

<ul>
	<li>Ядро, он же маленький фреймворк с базовыми сервисами, вроде кеширования, шаблонизации, роутинга;</li>
	<li>Минимальный набор функций для установки модулей и вывода в админке (используется пока для дефолтных модулей);</li>
	<li>CSRF-защита на все запросы;</li>
	<li>Аутентификация администратора;</li>
	<li>Инсталлятор браузерный и консольный;</li>
	<li>Кусок модуля для работы с темами;</li>
	<li>Примеры темы и модуля, который ничего не делает (скоро отправятся в отдельные репозитории);</li>
</ul>

<p>Пока доступна загрузка проекта только через композер, ибо в релиз не загрузил архив со скопилированной папкой vendor.</p>

<p>В ближайшее время будет доделан новый шаблон админки и способы взаимодействия с ним из модулей, а так же заполнен базовый перевод интерфейса.</p>]]></content:encoded>
	</item>
	<item>
		<title>Начало третьей ветки</title>
		<link>http://sydes.ru/ru/blog/announcements/starting-branch-3</link>
		<pubDate>Mon, 26 Oct 2015 00:00:00 +0600</pubDate>
		<guid isPermaLink="false">sydes.ru.43</guid>
		<description><![CDATA[С сегодняшнего дня прекращается разработка новых модулей и возможностей для ветки 2.х и все силы будут брошены на новую ветку. Впрочем найденные баги будут все равно исправлены.

Из того, что планируется реализовать:


	Стандартизация и переосмысление всего и вся
	Единая точка входа и возможности для фронта и админки
	Создание модуля DataSource, преемника DataTable, который будет предоставлять api для работы с данными
	Api вообще для всех модулей
	Полноценные языковые пакеты, с плюрализацией и переводами дат
	Визуальные настройки инфоблоков для ckeditor
	Оптимизация и кеширование всего, до чего дотянутся руки
	Добавление зависимостей модулям
	Создание менеджера модулей и переводов, позволяющего загружать все с репозитория (а к нему и сам репозиторий)


Срок: под новый год

&nbsp;

И да, опять предполагается отсутствие обратной совместимоти, во имя чистоты кода!]]></description>
		<content:encoded><![CDATA[<p>С сегодняшнего дня прекращается разработка новых модулей и возможностей для ветки 2.х и все силы будут брошены на новую ветку. Впрочем найденные баги будут все равно исправлены.</p>

<p>Из того, что планируется реализовать:</p>

<ul>
	<li>Стандартизация и переосмысление всего и вся</li>
	<li>Единая точка входа и возможности для фронта и админки</li>
	<li>Создание модуля DataSource, преемника DataTable, который будет предоставлять api для работы с данными</li>
	<li>Api вообще для всех модулей</li>
	<li>Полноценные языковые пакеты, с плюрализацией и переводами дат</li>
	<li>Визуальные настройки инфоблоков для ckeditor</li>
	<li>Оптимизация и кеширование всего, до чего дотянутся руки</li>
	<li>Добавление зависимостей модулям</li>
	<li>Создание менеджера модулей и переводов, позволяющего загружать все с репозитория (а к нему и сам репозиторий)</li>
</ul>

<p>Срок: под новый год</p>

<p>&nbsp;</p>

<p style="text-align: center;">И да, опять предполагается отсутствие обратной совместимоти, во имя чистоты кода!</p>]]></content:encoded>
	</item>
	<item>
		<title>v2.6.1: Роботы и варнинги</title>
		<link>http://sydes.ru/ru/blog/upd/v2-6-1</link>
		<pubDate>Sun, 18 Oct 2015 00:00:00 +0600</pubDate>
		<guid isPermaLink="false">sydes.ru.42</guid>
		<description><![CDATA[Исправлен адрес sitemap.xml в robots.txt при мультиязычном сайте

Удалены варнинги в разделе шаблонов, если манифест какой-либо темы не создан

В инфоблоке pages аргумент show_pagination заменен на no_skip, как на более логичный]]></description>
		<content:encoded><![CDATA[<p>Исправлен адрес sitemap.xml в robots.txt при мультиязычном сайте</p>

<p>Удалены варнинги в разделе шаблонов, если манифест какой-либо темы не создан</p>

<p>В инфоблоке pages аргумент show_pagination заменен на no_skip, как на более логичный</p>]]></content:encoded>
	</item>
	<item>
		<title>v2.6.0: Обновление библиотек и мелкие улучшения</title>
		<link>http://sydes.ru/ru/blog/upd/v2-6-0</link>
		<pubDate>Sat, 03 Oct 2015 00:00:00 +0600</pubDate>
		<guid isPermaLink="false">sydes.ru.41</guid>
		<description><![CDATA[Общее


	В админке, при сохранении модальных форм, страница всегда перезагружалась. Иногда это очень мешало, и теперь каждый модуль сам решает, нужно ли перезагрузить страницу при применении изменений;
	В списке модулей, которые можно установить, отображались и инструменты, которые не нужно устанавливать. Теперь их там нету;
	Языковые пакеты теперь подгружаются до __construct() модулей, так что можно уже в нем работать с переводами;
	Обновлены до последних версий jquery, jquery ui, bootstrap, CKEditor и его плагины


Модуль pages


	Раньше из мета-тегов страницы можно было добавлять только title, keywords и description. Теперь если ключ меты начинается на meta_ или ru_meta_, то она автоматом попадает в заголовки страницы. Так же была добавлена возможность указывать и opengraph параметры по тому же принципу, meta_og:title


Sitemap.xml


	Исправлена поддержка мультиязычных сайтов. Теперь в списке отображаются страницы со всех языков, а не только с текущего.


Инфоблок dataTable


	Добавлен новый агрумент: filter=&quot;type=2&quot; позволяюший фильтровать по одному полю
]]></description>
		<content:encoded><![CDATA[<p>Общее</p>

<ul>
	<li>В админке, при сохранении модальных форм, страница всегда перезагружалась. Иногда это очень мешало, и теперь каждый модуль сам решает, нужно ли перезагрузить страницу при применении изменений;</li>
	<li>В списке модулей, которые можно установить, отображались и инструменты, которые не нужно устанавливать. Теперь их там нету;</li>
	<li>Языковые пакеты теперь подгружаются до <code>__construct()</code> модулей, так что можно уже в нем работать с переводами;</li>
	<li>Обновлены до последних версий jquery, jquery ui, bootstrap, CKEditor и его плагины</li>
</ul>

<p>Модуль pages</p>

<ul>
	<li>Раньше из мета-тегов страницы можно было добавлять только title, keywords и description. Теперь если ключ меты начинается на <code>meta_</code> или <code>ru_meta_</code>, то она автоматом попадает в заголовки страницы. Так же была добавлена возможность указывать и opengraph параметры по тому же принципу, <code>meta_og:title</code></li>
</ul>

<p>Sitemap.xml</p>

<ul>
	<li>Исправлена поддержка мультиязычных сайтов. Теперь в списке отображаются страницы со всех языков, а не только с текущего.</li>
</ul>

<p>Инфоблок dataTable</p>

<ul>
	<li>Добавлен новый агрумент: <code>filter=&quot;type=2&quot;</code> позволяюший фильтровать по одному полю</li>
</ul>]]></content:encoded>
	</item>
	<item>
		<title>Как сделать акции с красивой датой</title>
		<link>http://sydes.ru/ru/blog/tuts/how-to-make-promos-with-date</link>
		<pubDate>Fri, 02 Oct 2015 00:00:00 +0600</pubDate>
		<guid isPermaLink="false">sydes.ru.39</guid>
		<description><![CDATA[
Сегодня мне посчастливилось делать акции для одного из клиентских сайтов, причем не просто картинки с текстом, а с необходимостью указывать даты их проведения в виде плашек с определенными текстами. Об этом и хочу вам рассказать.



Для работы был создан новый тип страниц и 3 акции в нем. В двух из них я добавил меты с ключом date_end и датами в прошлом и будущем. Поля с ключами date_end и date_start автоматически подгружают датапикер, так что не пришлось даже настраивать.

Далее в корневую страницу акций вставил инфоблок pages с кастомным шаблоном на основе шаблона grid, который позволяет выводить элементы в виде сетки. Весь код шаблона приводить не буду, но покажу самую сложную часть этого кода.


foreach ($result as $item){
	$class = &#39;&#39;;
	if (isset($item[&#39;date_end&#39;])){
		$until = strtotime($item[&#39;date_end&#39;]);
		if ($until &gt; time()){
			$promo_date = &#39;До &#39; . tDate($this-&gt;locale, &#39;j F&#39;, $until);
		} else {
			$promo_date = &#39;Завершена&#39;;
			$class = &#39;expired&#39;;
		}
	} else {
		$promo_date = &#39;БЕССРОЧНАЯ&#39;;
	}
?&gt;
	...
	&lt;div class=&quot;item &lt;?=$class;?&gt;&quot;&gt;
	...
		&lt;div class=&quot;until&quot;&gt;&lt;?=$promo_date;?&gt;&lt;/div&gt;
	...
	&lt;/div&gt;
	...
&lt;?php
}


Как видите, даже тут ничего сложного. Просто проверяем наличие меты и на основе сравнения с текущей датой применяем нужное решение. Обратите внимание, для вывода локализованной даты используется специальная функция tDate(), которая идентична стандартной date() за исключением наличия первого аргумента, в котором передается текущая локаль сайта, и переводом названий месяцев и недель на выбранный язык.

Что бы не потерять бессрочные акции в общем потоке, им достаточно указать статус &quot;Закреплено&quot;. Тогда они всегда будут выводиться перед акциями со сроком.]]></description>
		<content:encoded><![CDATA[
<p>Сегодня мне посчастливилось делать акции для одного из клиентских сайтов, причем не просто картинки с текстом, а с необходимостью указывать даты их проведения в виде плашек с определенными текстами. Об этом и хочу вам рассказать.</p>

<p><img alt="" src="/upload/images/blog/promos.jpg" style="width: 749px; height: 190px;" /></p>

<p>Для работы был создан новый тип страниц и 3 акции в нем. В двух из них я добавил меты с ключом <code>date_end</code> и датами в прошлом и будущем. Поля с ключами <code>date_end</code> и <code>date_start</code> автоматически подгружают датапикер, так что не пришлось даже настраивать.</p>

<p>Далее в корневую страницу акций вставил инфоблок <code>pages</code> с кастомным шаблоном на основе шаблона <code>grid</code>, который позволяет выводить элементы в виде сетки. Весь код шаблона приводить не буду, но покажу самую сложную часть этого кода.</p>

<pre class="php">
foreach ($result as $item){
	$class = &#39;&#39;;
	if (isset($item[&#39;date_end&#39;])){
		$until = strtotime($item[&#39;date_end&#39;]);
		if ($until &gt; time()){
			$promo_date = &#39;До &#39; . tDate($this-&gt;locale, &#39;j F&#39;, $until);
		} else {
			$promo_date = &#39;Завершена&#39;;
			$class = &#39;expired&#39;;
		}
	} else {
		$promo_date = &#39;БЕССРОЧНАЯ&#39;;
	}
?&gt;
	...
	&lt;div class=&quot;item &lt;?=$class;?&gt;&quot;&gt;
	...
		&lt;div class=&quot;until&quot;&gt;&lt;?=$promo_date;?&gt;&lt;/div&gt;
	...
	&lt;/div&gt;
	...
&lt;?php
}
</pre>

<p>Как видите, даже тут ничего сложного. Просто проверяем наличие меты и на основе сравнения с текущей датой применяем нужное решение. Обратите внимание, для вывода локализованной даты используется специальная функция <code>tDate()</code>, которая идентична стандартной <code>date()</code> за исключением наличия первого аргумента, в котором передается текущая локаль сайта, и переводом названий месяцев и недель на выбранный язык.</p>

<p>Что бы не потерять бессрочные акции в общем потоке, им достаточно указать статус &quot;Закреплено&quot;. Тогда они всегда будут выводиться перед акциями со сроком.</p>]]></content:encoded>
	</item>
	<item>
		<title>v2.5.1: Пользовательские шаблоны для dataTable и баги</title>
		<link>http://sydes.ru/ru/blog/upd/v2-5-1</link>
		<pubDate>Sat, 26 Sep 2015 00:00:00 +0600</pubDate>
		<guid isPermaLink="false">sydes.ru.38</guid>
		<description><![CDATA[Инфоблоки


	В menu и breadcrumbs добавлены дефолтные шаблоны
	Результат теперь выводится в переменную $result


Модуль сайтов


	Исправлен баг с неузнаванием доменов новых добаленных сайтов
	Список доменов для сайтов теперь являются ссылками


Модули основанные на DataTable


	Добавлена возможность подгружать свои шаблоны для списка элементов и формы редактирования без необходимости править контроллер. Достаточно в папке модуля создать папку view и в нее залить файлы index.php или form.php соответственно и получить данные из переменной $result
]]></description>
		<content:encoded><![CDATA[<p>Инфоблоки</p>

<ul>
	<li>В menu и breadcrumbs добавлены дефолтные шаблоны</li>
	<li>Результат теперь выводится в переменную <code>$result</code></li>
</ul>

<p>Модуль сайтов</p>

<ul>
	<li>Исправлен баг с неузнаванием доменов новых добаленных сайтов</li>
	<li>Список доменов для сайтов теперь являются ссылками</li>
</ul>

<p>Модули основанные на DataTable</p>

<ul>
	<li>Добавлена возможность подгружать свои шаблоны для списка элементов и формы редактирования без необходимости править контроллер. Достаточно в папке модуля создать папку <mark>view</mark> и в нее залить файлы <mark>index.php</mark> или <mark>form.php</mark> соответственно и получить данные из переменной <code>$result</code></li>
</ul>]]></content:encoded>
	</item>
</channel>
</rss>