modx evo что такое

MODx Evo vs. MODx Revo разбираемся в отличиях.

В рамках данной статьи я не буду рекламировать не одну из версий, поскольку считаю, что это не совсем правильно навязывать свое мнение кому-то другому, даже если оно будет правильным. Да и в целом, я затрудняюсь ответить на вопрос, какую из версий движка лучше использовать.

У большинства разработчиков на MODx, практикующих использование как Evo, так и Revo дела с выбором версии обстоят следующим образом. Если требуется разработать, что-то простое, не прибегая к серьезным доработкам, а лишь используя дополнения из репозитория, то выбор падает на версию Evo. Если же требуются серьезные доработки, или сильно усложняется проект, то выбор падает в сторону Revo. Такая ситуация сложилась у многих, подтверждением этому служат обсуждения на форумах.

Некоторое время, я также как и многие пользовался подобной практикой. Но со временем полностью склонился к MODx Revolution. И если честно, причин этому практически нет. Единственной причиной, я вижу более оперативную реакцию на возможные «баги» в «движке» со стороны разработчиков.

Отличия MODx Evo от Revo.

Основное отличие Revo от Evo это использование xPDO. Это своего рода абстракция над БД (промежуточный уровень).

Парсер Revo работает через xPDO. В Evo работа парсера основана на прямых запросах к БД, и как следствие быстрее работает. Казалась бы очень значимая сторона, но разница, на мой взгляд, столь незначительная, что просто не является критерием выбора.

У использования xPDO имеются и сильные стороны в плане безопасности, и исключении возможных SQL инъекций.

Кэширование в MOD Revo также завязано на xPDO.

В MODx Revo изначально предустановлен phx, что очень удобно при наложении дополнительных условий при вызове сниппетов и в других случаях.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Еще одна отличительная особенность работы парсера Revo – использование переменных в вызове чанков, Evo подобную технологию не поддерживает. Хотя на самом деле данная конструкция редко используется в простых решениях.

Количество событий поддерживаемых в Revo значительно выросло. Это действительно интересно и очень полезно. Часто это выручает во время разработки собственных решений.

Репозиторий.

По умолчанию CMS MODx Revo ставится «пустой». То есть не устанавливается, какой то пакет сниппетов, модулей и чанков, к которым привыкли в Evolution. Многих это пугает. Но до тех пор, пока они не познакомятся с репозиторием от Revolution.

Источник

Знакомство с MODX

В наши дни выбор систем управления контентом (CMS) настолько велик, что невольно теряешься. Причем, качество системы не зависит от того платная она или нет, а принятое решение затем надолго вас привязывает к выбранной CMS.
Предлагаю вашему вниманию перевод статьи английского веб-разработчика Марка Дженкинса, открывшего для себя MODX после многих лет разработки в различных системах.
Вначале идет перевод статьи, затем — некоторые комментарии по тексту.
modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Я только что закончил свой второй проект на платформе MODX, и думаю, самое время изложить свои мысли. У меня сложилось такое впечатление, что в web-индустрии MODX преимущественно не имеет широкую известность, отчасти поэтому, в целях просвещения, я и пишу эту статью.

Что такое MODX?

MODX – это система управления контентом с открытым кодом. Она построена на основе PHP и MYSQL, поэтому работает практически на любом сервере. Как и в WordPress существуют две версии: MODX Revolution (как wordpress.org, версия для скачивания и установки на ваш сервер) и MODX Cloud (как wordpress.com).
MODX – непритязателен: не важно, где располагаются шаблоны, как они организованы или где размещается контент. Это гибкая система, позволяющая работать как вам угодно.

Где можно использовать MODX?

Выбор систем управления сайтами (CMS) довольно широк. Раньше я пользовался WordPress, Perch, Expression Engine и Kirby, так же как Shopify и Magento для интернет-магазинов. Я использую WordPress и Perch на постоянной основе и обе системы доказали свою надежность и простоту использования.
Отсюда возникает вопрос: «Зачем вообще я должен вникать в MODX?»
Думаю, будет честно, если скажу, что я довольно хорошо знаком с WordPress, т.к. делал в этой системе практически все: блоги, 5-ти страничные сайты, мульти- региональные сайты с сотнями страниц. Разрабатывая на WordPress большие сайты, я сталкивался со многими трудностями, например: структура постоянных ссылок и систематика могут быть ограничены. Хотя в последние годы CMS значительно улучшилась, но все же чувствуется, что это не подходящий инструмент для работы с огромными и сложными сайтами.
Именно здесь MODX предстает во всей красе. Пока WordPress собирает структуру (пользовательские типы постов, систематика, темы) MODX предлагает пустую оболочку, готовую подстроиться под любые ваши потребности.
То, с какой легкостью MODX работает с шаблонами, впечатляет. Не нужно создавать шаблоны с заданным именем файла или размещать их в определенной папке, а синтаксис MODX обеспечивает чистоту и доступность кода.

Я перехожу с WordPress. Сложно будет переучиваться?

Во-вторых, MODX использует свой синтаксис тегов. Поначалу, я думал, зачем вообще разработчики MODX заморачиваются над созданием своего синтаксиса, но попробовав на практике, стало понятно. Он позволяет содержать код шаблона чистым и понятным (по крайней мере, лучше, чем эти ужасные непоследовательные функции WordPress).

Совместимость с Git

Есть ли недостатки у MODX?

Как я уже отмечал в этой статье, изучить MODX несложно. Некоторое время займет привыкание к терминологии и способам реализации тех или иных вещей.
Документация достаточно хорошая, хотя в поисках ответов на некоторые вопросы вам придется постараться. Шансы найти ответ по возникшей проблеме в WordPress, вероятно, в несколько раз выше, т.к. численность сообщества MODX поменьше.
Тем не менее, я нашел сообщество в Твиттере, которое оказалось очень полезным. Отправив несколько вопросов группе #MODX, я каждый раз получал хотя бы один ответ, который направлял меня в нужном русле.
Процесс установки MODX более сложный, чем у WordPress. Например, чтобы установить систему локально, я клонировал наш репозиторий, затем скопировал туда файлы MODX, настроил файлы конфигурации, запустил установку, подправил некоторые файловые разрешения и снова запустил установку. По сравнению с WordPress, поднятие и запуск MODX немного витееваты.

Источник

О системе MODX

MODX (читается «мо́дэкс») — это бесплатная профессиональная система управления содержимым (CMS) и фреймворк для веб-приложений, предназначенная для обеспечения и организации совместного процесса создания, редактирования и управления контентом (то есть содержимым) сайтов.

MODX распространяется бесплатно по лицензии GPL с открытым исходным программным кодом (Open Source). Это означает, что систему MODX может использовать каждый: как для личного использования, так и для коммерческого распространения сайтов, построенных на данной системе управления.

MODX написана на программном языке PHP и использует для хранения данных СУБД MySQL или MS SQL. Система управления MODX может быть установлена на большинстве веб-серверов (например, таких как IIS, Apache, Lighttpd, nginx и Zeus), а контрольная панель системы (или админ-зона) работает практически во всех современных браузерах.

Версия MODX

MODX Revolution

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

Если вы не уверены, какую версию MODX использовать, рекомендуем выбрать MODX Revolution.

MODX Evolution

На сегодня MODX Evolution используется параллельно с Revolution. Вероятно, для начинающих разработчиков начало работы с Evolution может показаться проще.

Некоторое время назад разработчики заявили об остановке работы над проектом Evolution, чтобы сконцентрироваться только на Revolution. Тем не менее впоследствии разработка Evolution перешла в руки сообщества и продолжила свое активное развитие. При выборе MODX Evolution для новых проектов желательно учитывать, что в целом функциональные возможности Revo выше Evo.

«Джентльменский набор»

Несмотря на то, что MODX может работать почти на какой-угодно операционной системе, возможно, будет полезно учесть следующие рекомендации при установке и работе с MODX:

Краткая история MODX

Разработчики Реймонд Ирвинг (Raymond Irving) и Райан Треш (Ryan Thrash) начали работу над проектом MODX CMS в 2004 году как модуль DocVars для системы управления сайтами Etomite и дополнением Реймонда для веб-пользователей.

В марте 2005 года все ссылки на MODX были удалены из форумов Etomite одновременно с требованием основателя Etomite прекратить поддержку MODX в них. С этого момента MODX становится форком Etomite.

К маю 2005 года форумы MODX были запущены онлайн и Джейсон Ковард (Jason Coward) присоединился к команде руководства проектом.

В 2007 году Реймонд покинул проект на дружественных условиях. В следующем году Шон МакКормик (Shaun McCormick) присоединился к команде руководства проектом.

В 2008 году пользователи MODX создали новый логотип и новый дизайн для проекта MODX CMS.

В 2010 году была выпущена первая версия MODX Revolution, которая являлась полностью переписанной версией MODX.

Источник

Инструкция к CMS Evolution (modx)

Изначально мы написали эту статью в помощь клиентам нашей студии. Но спустя время эту страницу стали посещать тысячи пользователей со всей России, которые искали информацию по этой замечательной CMS. Мы разрабатываем сайты на этой системе управления уже много лет, поэтому, если вас интересует поддержка или доработка вашего сайта, вы можете смело обращаться по электронной почте andrey@s-pushkin.ru!

Для входа в систему управления сайтом необходимо к адресу вашего сайта добавить /manager. Итоговый адрес будет site.ru/manager

Далее необходимо ввести логин и пароль, который мы вам предоставляем, после этого вы попадаете на главный экран системы управления.

Чтобы общаться с вами «на одном языке», приведём несколько понятий, которые пригодятся:

«Система управления сайтом», она же «CMS (Content Management System)», она же «админка».
Это та «оболочка», через которую вы осуществляете всю работу с сайтом – наполнение, управление и так далее. На скриншоте ниже вы можете увидеть её внешний вид

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Бэкенд («бэк»), фронтенд («фронт»)
Как понятно из названия, это «задник» и «передник» сайта. Бэком называется то, что вы видите в админке. Фронтом – то, что на реально действующем сайте.

Дерево ресурсов
Структура страниц сайта в виде раскрывающегося дерева. Её вы можете увидеть в левой части окна CMS. Она позволяет визуально понять, какие разделы, подразделы и страницы есть на сайте. На скриншоте выше дерево ресурсов находится слева, тёмная область.

ID (айди) ресурса
Цифра, написанная справа от ресурса в дереве. Нужна, в основном, чтобы избежать путаницы при общении по какому-то вопросу. Например, может быть одновременно два ресурса с одинаковым названием (например, два врача-однофамильца). Чтобы проще объяснить кому-тО, какой ресурс смотреть, можно назвать его порядковый номер, то есть, айди.

Шаблон
Визуальная структура ресурса. От шаблона зависит, как будет отображаться та или иная страница. Любой ресурс можно сделать любым шаблоном. Например, любой услуге можно присвоить шаблон «Контакты» и на ней ожидаемо появится карта. Именно этот фактор является огромным преимуществом этой CMS. Любой ресурс может выступать в роли любой страницы при условии смены всего лишь его шаблона.

Публикация
Статус ресурса. Ресурс может быть опубликован (тогда его увидят все пользователи), либо не опубликован (тогда его увидят только администраторы сайта и никто более)

«TV-параметр» (ТВ-параметр)
Поле с неким параметром сайта. Это может быть ввод картинки, какого-то названия, текста, заголовка – по-русски это называлось бы просто «параметром», но в рамках работы с этой CMS, чтобы не было путаницы, ввели понятие «TV-параметр». Самый простой пример – это ввод номера телефона, который отображается в шапке сайта. Поле ввода и будет называться TV-параметром. Пример ТВ-Параметров ниже на скриншоте.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

«Мульти-TV»
Аналогично предыдущему термину, это просто параметр ресурса. Однако, название явно показывает, что у него есть возможность ввода множества данных, объединённых одним TV-параметром. Например, если у компании несколько телефонов, то плодить множество TV-параметров неудобно (т.к. телефоны могут появляться хоть по 5 штук в день). В таком случае используется Мульти-ТВ. Пример внешнего вида мульти-ТВ находится ниже на скриншоте. Зелёным плюсом и красным минусом мы можем регулировать количество ТВ-параметров внутри одного мульти-ТВ

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

DocPicker (ДокПикер)
Используется нечасто и не факт, что у вас он будет, но инструкция общая для всех, поэтому нужно его упомянуть. Используется для логической связи ресурсов между собой. Например, одна из частых задач – конкретному филиалу компании присвоить нужных сотрудников. Для этого в строке пишутся номера ID ресурсов. На скриншоте ниже показано, что сотрудник относится именно к филиалу на Московской, д. 123.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Табы
«Закладки» внутри админки, на которых расположены ТВ-параметры. Расположены в самом верху окна редактирования ресурса.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Файловый менеджер
Используется для загрузки файлов и изображений на сайт. Вызывается кликом по кнопке «Вставить» в ТВ-параметре.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Представляет собой стандартный проводник с обычными файлами и папками. То, что вы видите в нём – это файлы, расположенные на хостинге (а не на вашем ПК). Для того, чтобы загрузить файл, необходимо нажать зелёную кнопку «Загрузить» и выбрать необходимый файл на вашем ПК. Рекомендуем создавать папки в левом дереве файлов, а не грузить всё в одну, чтобы потом вам самим было проще найти нужный файл.

PageBuilder (ПейджБилдер)
Один из самых сложных, но при этом, самых часто встречающихся модулей нашей админки. Представляет собой «сборщик-конструктор» страницы. В основном, используется на каких-то больших внутренних страницах (например, конкретной услуги, продукта, статьи и так далее).

Для начала вернёмся к объяснению, которое мы 100% рассказывали вам на встрече, просто вы забыли. Любая страница состоит из неких визуальных блоков. Если бы статья содержала в себе только текст, то было бы прекрасно, и никакой ПейджБилдер нам не потребовался бы. Однако, зачастую, статья может содержать в себе: текст, галерею, слайдер, отзывы, преимущества, что угодно. Все эти блоки имеют свой html-код, свою вёрстку. И без знаний этого кода вы просто-напросто не сможете скомпоновать порядок блоков на странице так, как вам нужно.

Рассмотрим на примере. Ниже будет скриншот страницы услуги Стоматологии.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Явно видно, что на картинке шесть разных визуальных блоков. Но ведь очевидно, что прайс-лист на какой-то услуге может быть, а на какой-то – нет. На какой-то услуге может быть блок с круглыми картинками, а какая-то услуга – это всего лишь один абзац текста, т.к. про неё больше нечего писать. Именно для этого и нужен ПейджБилдер. Он позволяет без знания кода формировать порядок блоков на странице. Фактически, ПейджБилдер – это всего лишь чуть более навороченный МультиТВ.

Теперь посмотрим, как выглядит этот же сайт в разрезе ПейджБилдера в админке.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

По принципу МультиТВ мы можем добавить в любом порядке блок с определённой визуальной структурой и наполнением. Эти блоки можно менять местами, можно добавлять несколько одинаковых блоков и так далее.

Вот именно понять, как выбрать наиболее привлекательный блок для какого-то наполнения – это и есть основная проблема (даже не проблема, а сложность) в наполнении сайта.

Рассмотрим на примере. Один и тот же текст можно вверстать в сайт по разному, ниже три примера:

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

«Правильного» решения тут нет, это – абсолютный субъективизим, который влияет только на визуальную подачу, не более. Но именно этот момент вызывает у всех большинство вопросов.

Работа с деревом ресурсов очень простая. Давайте прям пошагово:

Первое, что нужно знать – изначально, все ресурсы и их подресурсы свёрнуты. Чтобы посмотреть, какие дочерники содержит в себе ресурс, необходимо нажать на стрелочку слева:

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

По ресурсу можно кликнуть левой кнопкой мыши (далее просто «ЛКМ») или правой кнопкой мыши (далее ПКМ).

ЛКМ откроет окно редактирования конкретного ресурса в правой области админки.

ПКМ откроет контекстное меню редактирования ресурса, остановимся на нём.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

По порядку по скриншоту:

Работа с окном редактирования ресурса довольно простая. Давайте по порядку, сверху-внизу. Ниже – скриншот-пример:

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Всегда обращаем внимание на табы. Есть три стандартных таба, которые есть у каждого ресурса: Общие, Настройки страницы, SEO. А есть у некоторых ресурсов дополнительные. Как правило, это различные галереи, пейджбилдеры и другие ТВ-параметры.

У каждого ресурса есть стандартные поля:

Табы SEO и «Настройка страницы», как правило, заказчиками не используется. Если же вам это нужно, то, скорее всего, вам эта инструкция уже бесполезна 🙂

Работа с редактором текста не сложнее работы в Microsoft Office.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

На картинке дали пояснения к основным кнопкам.

Самые частые вопросы по использованию редактора контента:

Источник

Краткая инструкция для Ревистов по работе с evolutionCMS. Часть 1

Дисклеймер

Данная статья не в коем разе не создана ради холивара, а преследует строго противоположную цель: показать разработчикам MODX Revolution, что ее старший/младший (смотря с какой стороны посмотреть) брат evolutionCMS не так и далеко от вас и содержит ответы на вопросы, которые я часто получал от ревистов. И да, данную статью меня побудило написать увеличение таких вопросов. Поэтому если вы ревист и вам необходимо иногда работать с Эво (подчеркиваю, что я не в коем разе не агитирую за ту или иную ветку) рекомендую пробежаться глазками по этой статье, возможно она вам поможет избежать ненужной траты времени.
Данная статья не является научным трудом. А также разбита на две части для лучшего восприятия.

Последняя версия (используйте 1.4.5)

Забано слышать сравнения MODX Revolution 2.5.7 и MODX Evolution 1.0.6))
Уважаемые коллеги, на момент написания данной статьи последняя актуальная версия evolutionCMS — 1.4.5 (Обязателен PHP 5.3+)
По словам разработчиков это последний релиз в ветке 1.x, так что можно считать эту версию последней.
О ней дальше и будет речь.

Если вам в руки попалась менее свежая версия, то настоятельно рекомендую обновиться. Делается это не сложно: записывается дистрибутив поверх существующего проекта, запускается установка, а после всех процедур стоит прислушаться к рекомендациям которые предложит сама система. Пример рекомендаций на картинке.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

В последней версии более дружелюбный интерфейс, много различных приятных плюсов и фишек, закрыты различные дыры. В большинстве случаев, если на сайте не используются кастомных решений содержащих в себе прямые вызовы myqsl вида mysql_query(), mysql_fetch_row() и т.п. то все проходит хорошо. Если такие решения встречаются, то далее есть два варианта:

Во время написания статьи пришла рекомендация от Мисс MODX REVO рассказать в целом об установке… Ну не знаю… Тыкаете далее-далее-далее-далее-сохранить)) На самом деле «коробка» сделана таким образом что лишнего там практически нет. Из рекомендуемых настроек там тоже все нормально выстроено. Единственное, я например ставлю схему в виде только черной шапки и отрубаю глобальные вкладки. Но это уже чисто на любителя.

Устаревшие сниппеты и сниппеты которые нужно использовать

Часть используемых сниппетов берет свое начало аж с 2006-го года. Эти пенсионеры выполняют свои задачи, тем не менее это не отменяет их пенсионного возраста. Их следует заменить более молодыми, благо проходит это все достаточно просто и безболезненно.

Первый «дедушка» — Ditto, аналог getResources.
Ditto это тот сниппет, из-за которого я и начал заниматься MODX))) Тем не менее он достаточно ресурсоемкий и приходится достаточно сильно костылять при работе с ним.

eForm — FormLister — он создан с использованием DL, имеет кучу разнообразных настроек и возможностей.
WayFinder — громоздкая я глючная хрень, меняется на DLMenu
Breadcrumbs — DLCrumbs
AjaxSearch — evoSearch (который умеет в морфологию)
evoGallery (она в последнее время отваливается) — simpleGallery. (http://modx.im/blog/fast-solution/5247.html — вот тут описан переезд с EG на SG)

Дополнения и Extrats.

modx evo что такое. Смотреть фото modx evo что такое. Смотреть картинку modx evo что такое. Картинка про modx evo что такое. Фото modx evo что такое

Одним из аргументов против Эво часто слышал то, что в нем нет магазина дополнений. Хотя существует он года с 2013-го вроде. Его не было в официальной версии MODX Evolution 1.0.15, тем не менее с момента его появления он всегда был в сборке от Dmi3yy и содержится в «коробке» evolutionCMS.

В новой версии 2.0 по слухам предполагается несколько измененная логика работы магазина дополнений, но на данный момент Extrats предоставляет более ста различных дополнений (134 если быть точным) плюс к этому существует возможность установки их из архива, а также создание своего собственного репозитария. По последнему — это уже не столь актуально, ибо в ближайшее время будет переписана логика установки дополнений.

Устанавливаются дополнения кликом по кнопке установить (автоматическое удаление пока не предусмотренно, но в процессе).

Ниже список нескольких важных и полезных дополнений, которые не входят в «коробку».

Sitemap — аналог pdoSitemap
ClientSettings (http://docs.evo.im/04_extras/clientsettings.html) — создает вкладку глобальных настроек
eFilter (http://docs.evo.im/04_extras/efilter.html) — формирование фильтров, работает в связке с DocLister
optimizeJPG (http://docs.evo.im/04_extras/optimizejpg.html) — плагин для оптимизации jpeg
PageBuilder (http://docs.evo.im/04_extras/pagebuilder.html) — управление блоками на странице
Composer — да, да, вы не ослышались! И под ним подразумевается именно composer!)
EvoBlade, EvoTwig — шаблонизаторы Blade и Twig соответственно
Seo4Evo и seoPuck (https://modx.ru/novosti-i-stati/article/385/) — пакеты для СЕО, в последний в ближайшее время будет внесено еще несколько полезных настроек и оптимизации.

Много полезной и нужной информации по работе с дополнениями можно посмотреть тут — http://docs.evo.im/04_extras.html

Работа с библиотеками (замена getServices)

И да. В Evolution нет xPDO, тем не менее есть есть ряд очень интересных и полезных библиотек, которые расширяют MODX и упрощают работу с объектами вида доументов, пользователей и т.д. Хранятся они в папочке /assets/lib/
Загляните, там интересно)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *