По работе встала задача войти в курс дела разработки сайтов на платформе 1с-Битрикс. Эта CMS платная и в зависимости от лицензии преподносит “с коробки” кучу разных плюшек, которые облегчают создание практически любого сайта.
Оговорюсь, что сейчас работаю только над первым проектом и он довольно простой. И самый первый совет, который я могу сейчас дать тем, кто рассматривает возможность разработки сайта на 1с-Битрикс:
Если у вас нет острой необходимости использовать именно эту CMS, не используйте её.
Первые впечатления довольно мрачные:
- несмотря на огромные возможности движка, он сложный и работать с ним не пройдя курсов от “Контент-менеджер” до “Разработчик” не стоит
- жутко длинные пути для шаблонов. Вот представьте себе, что нужно внести правку в шаблон вывода элемента комплексного компонента “Каталог”, а потом вам сразу надо изменить код в шаблоне вывода элемента комплексного компонента “Новости”. Можно быстро сделать правку прямо на сайте. Но олдскульные кодеры предпочитают пользоваться IDE. Вам сразу нужно открыть файл
/local/templates/shablon/components/bitrix/catalog/katalog/bitrix/catalog.element/katalog/template.php
а потом вот этот файл:
/local/templates/shablon/components/bitrix/news/novosti/bitrix/news.detail/novosti/template.php
- очень запутана система шаблонов. Это хорошо, когда любой странице на сайте можно дать свой шаблон. Но потом очень легко запутаться
- не смотря на то, что уже 17-я версия движка, до сих пор приходится делать “костыли” на некоторый функционал. Например, для стилизации полей с пользовательскими типами данных, которые подключаются в компоненте iblock.element.add.form
- жутко раздражает вот это вот всё:
<div class="my-property"> <?=$arELement["DISPLAY_PROPERTIES"]["MY_PROPERTY"]["VALUE"]?> </div>
Это, чтобы вы понимали, выводится просто пользовательское свойство в шаблоне.
- много извращений – нестандартные пути решения задач. Потому что стандартных методов либо нет, либо не хватает.
В общем, есть свои плюсы и минусы. Думаю, просто нужен опыт. Благо, информации в сети много да и техподдержка клиентов есть.