Что такое Битрикс: Управление сайтом. Мнение из первых рук

03 Апреля 2013 17:29 ::: Просмотров 31894 ::: Комментариев 17

Занимаюсь разработкой, модернизацией, поддержкой сайтов на битрикс: управление сайтом (продукт фирмы "1С-Битрикс"). И поведаю правду об этой системе, без утайки - с чем столкнулся лично и что думаю (бывает, громко вслух).

Если вкратце - удобно задумано, реализовано с глюками, внутри говнокод. 

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

Итак, задумана система управления вроде хорошо - чувствуется, когда-то планированием развития и кодингом занимались серьезно. Модули, компоненты, события, красивые презентации - дают надежду увидеть серьезный солидный продукт, стоящий хороших денег (пожалуй, самый дорогой среди конкурентов).

Структура системы управленя сайтом Битрикс

Давайте же я начну с хорошего — положительных моментов немного, закончу быстро :). С точки зрения пользователя-менеджера битрикс довольно неплох. Имеются онлайн курсы по основам системы, где разжеваны типичные моменты работы с содержимым, основы администрирования. Если оплачено продление - можно попытаться напрячь проблемой техподдержку. Самый адекватный человек в поддержке Михаил Митрофанов - отвечает четко, квалифицированно и по существу. Правда, в половине случаев общение с техподдержкой кончается ничем - стороны сходятся во мнении, что проблема это не проблема, а фича. Вполне удобное изменение материала и структуры из публичной части сайта - изменить, добавить статью, редактировать свойства страниц и разделов (например ключевые слова, описание), создавать различные меню, здесь же изменять css стили и шаблоны. Редактор кода даже имеет подсветку синтаксиса (которая часто глючит). Редактор текстов вполне подойдет непритязательному писателю очерков, имеет типовые распространенные возможности. Пожалуй, стоит выделить функцию вставки текста из Ворда - можно настроить степень очистки мусора, сгенерированного Microsoft Word. Административная часть сайта также вполне неплоха, но требует некоторого времени на привыкание.

Таким образом, если глубоко не копать, можно работать вполне комфортно. Довольно интересна система компонент - например, создаем раздел Новости и страницу index.php, кидаем на нее комплексный компонент Новости, настраиваем параметры - раздел новости готов, и обошлись только тыканьем мыши. Комплексный компонент представляет собой по сути законченную бизнес-логику, готовую к использованию конечными пользователями, например компонент Новости, Форум, Блог. Простой компонент - блок, выполняющий одну функцию - вывод списка новостей, форма обратной связи, вывод комментариев блога. Комплексные компоненты состоят из простых.

Редактор битрикс - работа с компонентами

Заслуживает внимания идея инфоблоков - фича битрикса. Информационные блоки представляют собой очередной уровень абстракции над обычными таблицами СУБД, своеобразная "база данных в базе данных".

Радует система резервного копирования - одной кнопкой можно создать архив сайта с базой данных. Однако нельзя настроить разбиение архива на части нужного мне размера (как в нормальных архиваторах), делит на части по какой-то своей хитрой формуле. Вероятно, из-за tar.gz.

А теперь разберем по косточкам некоторые моменты.

Документация битрикс - позор

Если вдруг приспичило изменить типовой функционал, или, не дай бог, разработать что-то новое, мы как нормальные разработчики идем читать документацию - и здесь нас ожидает масса сюрпризов. Примерно в 10% случаев документация устаревшая и немного не соотвествует действительности (даже в пользовательских курсах я находил грубые ошибки), в 2-5% случаях отсутствует описание, на некоторые вещи (например компонент main.interface.grid, позволяющий строить таблицы и списки - вещь часто очень нужная) документация вообще отсутствует в природе - разработчик видишь ли не захотел писать, счел это знание слишком опасным для простых смертных. В итоге часто приходится ковырять код битрикса, что требует отдельного флакона валерьянки. Иногда попадается нормальный код, даже с комментариями, но обычно это безымянное полотно текста, где смешались люди, кони... А например в комментариях блога (я писал о проблеме в статье Сменил работу - теперь я веб-разработчик) поражает отсутствие хоть какого-то планирования разработки и нагрузочного тестирования. Часто код не соответствует своим же правилам написания исходного кода. После стройной объектной модели популярного (и любимого мной) фреймворка Yii, битрикс - говно, да простят меня читатели. Нормальные разработчики плачут. Разработчикам битрикса хотя бы немного поработать с другими фреймворками, ощутить свободу и мощь современных парадигм программирования... На их сайте встречается упоминание о новом ядре D7, якобы несущем революцию и свет нового дня в битрикс - но нигде ничего конкретного нет, посему проигнорируем эти сказки.

В битриксе для работы с javascript и ajax есть своя библиотека, недокументированная и непонятная. Большинство партнеров-разработчиков битрикса используют удобный известный jQuery, дабы не заморачиваться. Битриксу тоже бы перейти на jQuery, но, видимо, свой "велосипед" с квадратными колесами роднее.

С каждым новым релизом административная часть пухнет на глазах - огромные отступы, много пустого пространства. Последняя 12 версия битрикса удручает - админка перестала влазить в окно (у меня браузер обычно распахнут на половину окна широкоформатного монитора), для комфортной работы нужно разворачивать окно на весь экран. Кто-то заболел гигантизмом. Быстрая компактная админка - это НЕ про битрикс.

Редактор битрикс

Текстовый редактор требует привыкания, со временем можно приспособиться к его фичам и глюкам, отсутствию некоторых нужных возможностей типа "верхний/нижний индекс". Пользователи, использовавшие хоть раз признанные редакторы TinyMCE или CKeditor украдкой будут пускать скупую слезу - редактору битрикса до них как до луны. В особо сложных случаях я готовил текст (много букв и таблиц) в TinyMCE, и потом копировал в битрикс. Из наболевшего — редактор шаблонов регулярно добавляет в конец файла всякий мусор. Редактор кода с включенной подсветкой регулярно тупит, коверкает код. Редактор текста при редактировании вставляет параграф в параграф, оставляет пустые теги после удаления (или <p><br /></p> после удаления компонентов), зачем-то вставляет два пробела в начало строки при преобразовании простого текста в параграф. Html5 на страницах вырезает напрочь, код ютуба и прочих портит после повторного редактирования. Растянуть полезное окно редактора на желаемую мне высоту/ширину невозможно, приходится писать текст в узеньком окошке-амбразуре.

Бывает, после обновления перестает работать то, что работало, например, на фотографии не накладываются "водяные знаки" (уже старый баг, вроде до сих пор не исправлен). К счастью, такие глюки редкость

Еще одно большое больное место, по моему мнению - ЧПУ, или веб-адреса, удобные для восприятия человеком. ЧПУ в битриксе какое-то огрызочное, кусками, не имеет единого центра (как в том же Yii, где в конфиге можно прописать порядок формирования адресов и больше не касаться этой темы). ЧПУ работает только отдельно у каждого комплексного компонента. При этом всякие фишки типа пагинации и какие-то дополнительные параметры формируются как обычно, и адрес выглядит так: http://vladname.ru/article/?PAGEN_1=4. По поводу ЧПУ я создал идею на сайте битрикса, но почему-то одобрения она не получила. Если хотим обойтись простыми компонентами типа "список новостей" и "новость детально" - можно попытаться настроить вручную самостоятельно, говорят это возможно :). При всем при этом ЧПУ не умеет множественную вложенность (каталог/сапоги/резиновые/большогоразмера/суперсапог).

Мультиязычность/мультидоменность присутствует. Сойдет, если нужно по-простому. Без проблем настраивал несколько сайтов в админке битриксе на поддоменах. Но далее начинаются сложности. Статистика (которая модуль битрикса) одна на всех, таблицы в базе одни на всех, медиабиблиотека одна на всех, архив (бэкап) один на всех — смешались люди, кони... Мутант о двух головах. В итоге было решено создать отдельный сайт для английского языка - намного удобнее и проще. Но дороже (отдельная лицензия, хостинг). Не это ли цель всех производителей?

Компонент "Карта сайта" строит карту исходя из физической структуры сайта. То есть логическая структура сайта должна быть оформлена в виде папок на сервере. Если у вас есть комплексный компонент Новости с разделами в инфоблоке - вы эти разделы на карте сайта не увидите. В этом недостаток битрикса - построения сайта на отдельных компонентах, не связанных друг с другом.

В инфоблоках можно создавать свою логическую структуру - разделы и элементы. И разделы, и элементы могут иметь описание и картинку (например анонс новости и картинка к ней). Казалось бы, удобно - заходишь, например, в раздел "новости отрасли" и видишь его описание и картинку раздела, или в списке разделов каждый из них имеет персональную картинку и описание. Однако вывод этих самых описания и картинки для раздела нигде не реализован. Компонент "Новости", как ни удивительно, не умеет выводить разделы новостей! Приходится ставить костыли. При этом компонент "Каталог" это умеет. Странно...

При всеобщем воспевании битриксом своей же идеи инфоблоков как универсальной структуры данных такие фундаментальные модули как "форум", "блог" сделаны сами по себе, со своими собственными таблицами и функциями для работы, что не добавляет простоты в их потрошении изучении/исправлении. А такой модуль как "Идеи" является надстройкой над блогом, что вовсе затрудняет его модернизацию (какофония кода чем-то напомнила старый вордпресс). Скорее всего, будет проще написать с нуля свой сервис. Или Фотогалерея 2.0 - там местами код компонентов так связан друг с другом, что по отдельности заставить их работать бывает проблематично. Это другая сторона построения сайта на компонентах.

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

Минус на мой взгляд и то, что систему управления сайтом нельзя собрать как конструктор, только из нужных модулей. Об этом я писал в статье Обновил сайт - сменил движок и хостинг  - если нужны только новости с фотогалереей, придется брать в нагрузку форум, блог, подписки, веб-формы, опросы.

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

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

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

Сайт идей битрикса тоже глючит

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

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

Системно битрикс НЕ гибкий. Так называемый фреймворк, собственно, умеет только то, что умеет битрикс. Например, игра "Фермер", без проблем реализованная на Yii - пока я не придумал, как перенести ее на битрикс.

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

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

P.S. 2014.07. Спустя год с хвостиком дополню новыми наблюдениями. За это время битрикс сделал большой шаг вперед - выпустили новую версию с большими доработками и исправлениями. Наконец-то взялись делать нормальный редактор, внедрили автоматическую генерацию карты сайта (но пока только из инфоблоков), дополнили удобными сео-инструментами (генерация заголовков, имен картинок и прочее), и еще масса новых вещей. Я как-то даже удивлен и обрадован. На этом фоне решено закрепиться в сфере разработок, начал предлагать себя в области создания недорогих сайтов "под ключ" на битрикс, и сопутствующих услуг - верстка, программинг.

P.S. 2015.12. Битрикс (уже версия 15.5) стал верстать свои шаблоны с использованием моего любимого css фреймворка Bootstrap! Шаблонный интернет-магазин выглядит очень неплохо. Надеюсь, скоро перейдут полностью на адаптивную верстку. При загрузке картинок их теперь можно обрезать и масштабировать! невероятно, товарищи! новый визуальный редактор бывает, все еще лажает. Компонент Новости по прежнему не умеет выводить разделы.

 

Статьи по теме

  1. Битрикс: Веб-окружение. Создаем несколько сайтов
  2. Битрикс: защита форм от спамеров. Подключаем stopforumspam

Комментарии

Сергей11 Октября 2013 18:49#1075

Судя по статье Вы не плотно занимаетесь битриксом и поверхностно его знаете. Например описанные проблемы с ЧПУ (и др. перечислять нет времени) от не знания... надо ещё почитать и  научится на практике реализовывать. Например, фото из имеющейся галереи -

Компоненты тоже имеют свои минусы. Например, нам захотелось в новости в определенном месте вывести фото из имеющейся галереи. Фиг вам.

запросто всё это делается...

 

После стройной объектной модели популярного (и любимого мной) фреймворка Yii

так берите и пишите на фреймворке Yii и не морочте голову

 

 

Владислав11 Октября 2013 19:03#1076

1.Ув. Сергей, битриксом занимаюсь уже год, и пока еще конечно не гуру. Возможно, что-то ускользнуло от внимания, в битриксе это легко, но свое мнение уже составил. Насчет ЧПУ - официального сайта как примера достаточно - именно так как я описал.

2.Так опишите нам, как это делается запросто. Я сделал, но это не запросто.

3.я брал и писал на Yii, так же беру и пишу на битриксе, раз требуют обстоятельства. выводы описаны

Сергей11 Октября 2013 20:03#1077

1. если ускользнуло от внимания зачем тогда писать что это "больное место"... "Компоненты тоже имеют свои минусы" - а по-моему у компонентов одни плюсы. Интерсно, сколько сайтов за год было создано на битриксе?

Вот живой пример ЧПУ сайта на битриксе

http://euroset.ru/catalog/computers/peripheries/printery-i-mfu/hp/-/hp-deskjet-ink-advantage-3515/

2. Подобные примеры уже описаны на форумах и без труда найти, можно начать тут

http://dev.1c-bitrix.ru/community/forums/

3. Я занимаю плотно битриксом не первый год и знаю что за год его осилить очень трудно...

Владислав11 Октября 2013 23:01#1078

1. количество не говорит о качестве.

вот пример такого ЧПУ я имею ввиду - 

http://euroset.ru/catalog/computers/other-accessories/case-laptop/?PAGEN_1=2

2-3.про форум много написано на самом форуме - много вопросов без ответа, в поиске черт ногу сломит и т.д. Недавно я создал тему в открытом разделе, завтра она оказалась в закрытом - сам еле нашел. Документация хромает. Это все не в плюс битриксу. И как результат, чтобы стать гуру, надо изрядно поковыряться в кишках и походить по граблям, о чем правильно написано в Вашем комменте. А ведь кроме поиска граблей надо еще и работать!

Вот в данный момент опять сломался блог на сайте компании. Разработчики проблему признали и решают ее уже неделю! Наверно они не очень плотно занимаются своим битриксом? как программист я их очень понимаю, а вот как клиент негодую.

Сергей14 Октября 2013 15:26#1079

Благодаря документации (раньше она была ещё меньше) я сдал первый свой комерческий проект (сайт визитка) через полгода после того как узнал что есть битрикс. У меня даже в первом проекте не было проблем с тем как избавится от "?PAGEN_1=2" ... Больше нет желания спорить, тем более вот так в открытую на сайте.

чтобы стать гуру, надо изрядно поковыряться в кишках и походить по граблям

по-моему это надо не только при изучении битрикса, но и с любым другим... - всегда полезно для понимания того как работает та или иная система

{#emotions_dlg.smile}

Иван22 Октября 2013 11:16#1093

У меня вполне простой и логичный вопрос если Битрикс гово зачем на нем ЭТОТ сайти стоит? 

ну эт так отступление )))

на самом деле после работы с yii  на битриксе работать практически невозможно, столкнулся с такой проблемой ... есть способ реализоввать мультисайтовостть (якобы) мне дано задание распихать все по поддоменам каждый сайт в свою папку, отдельно вынести "ядро" системы чтоб ы далнейшим можно было используя один экземпляр  приложения его маштабировать,.. как получилось на самом деле, 2 ой день пытась победить КРИВУЮ авторизацию (поддомены мы понимать неходим, и куки ставить то же не будем) нет разделения базы данных!!!!!! все льется в одноу (можно же различать таблицы по перфикстам, и т п) да только разрабам этого ненадо, они хотять продовать ГОВНО что бы потом его бесконечно доделывать, а клиент который за каккой нибудь сраный модуль выкладывает бабки просто удавиться но на другоую систему не переейдет)))) (должно работать столько денег отдали )

 

по поводу авторизации типового решения нет!!!!!!! опять доделывание костылей к ИНВАЛИДНОМУ битриксу

это какая то неимоверная херня , проще действительно сделать самомоу на yii, обяснить заказчику что щас он выложил 100 к и потом еще 200 отдаст, потеряет время и деньги. это поверте сэкономит много времени и ваших нервов

 ... спаспибо я кончил 

Владислав22 Октября 2013 11:33#1094

2Сергей

спорить не будем. имеющий глаза сам все увидит.

Владислав22 Октября 2013 11:51#1095

2иван

почему этот сайт на битриксе - чтобы знать врага в лицо :) Между прочим, у многих спецов по битриксу есть свои сайты/блоги. НИ ОДИН из этих сайтов НЕ написан на битриксе. в основном вордпресс. о чем это говорит?

мультисайтовость да, сложный вопрос. я тут писал - проще сделать отдельно. и статистику считать удобней, и управлять.

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

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

Денис28 Января 2014 19:41#1269

Работаю с битриксом уже 4 года, и увы только с ним одним и могу лишь подтвердить описанное. Но как всегда все упирается в реальные бизнес-задачи. Потому что какой бы битрикс не был кривой, сырой и не вызывал отвращение у разработчика, но на нем реально можно быстро запустить сайт и гарантировать клтиенту более менее сностный функционал. Проблемы действительно начинаются на нетиповых проектах. Для себя медленно, но верно иду к тому чтоб работать в формате: Битрикс ред.Первый сайт(за 2000руб) или Старт (около 5000) - это вполне адекватная цена за тот сыроватый функционал, который мы получаем + оплачивая лицензию клиент сразу показывает нам, что у него есть хоть какой-то бюджет на проект(тоже гарантия для меня как для разработчика) ВСЕ! Все что нужно делать, делается самописное на тех же модулях. Реально, кроме инфоблков в битриксе толком ничего нормально не реализовано. Веб-формы - шлак, Форум - шлак, Блоги - шлак, Интернет магазин ... на однйой связке торгового каталога и интернет магазина можно офигеть и главное автор так же написал, чуть нужно будет кастомизировать админку все, это или кастылищи или переписывай все сам

Владислав28 Января 2014 22:12#1270

Денис, про старт отличная мысль.

в сети ходят легенды - якобы гуру берут минимальную редакцию (старт) и пишут на нем чуть ли не социальные сети.

Kyokata11 Марта 2014 12:30#1273

По поводу гуру и легенд сразу вспоминается картинка про троллейбус из буханки хлеба. Можно, но ЗАЧЕМ?

Для нетиповых проектов лучше брать любимый фреймворк и писать на нём.

Сергей14 Марта 2014 14:43#1274

в сети ходят легенды- якобы гуру берут минимальную редакцию (старт)

это только легенды, экономически не выгодно изобретать велосипед

Для нетиповых проектов лучше брать любимый фреймворк и писать на нём.

на битриксе типовые проекты просто ставишь и он работает,а разрабатывать приходится только под нетиповые задачи,

но  нетиповых становится всё меньше, потому что много уже разработано под разные редакции битрикса, найти можно тут http://marketplace.1c-bitrix.ru .

"любимый фреймворк" - короче та дорога которую знаешь!

 

Между прочим, у многих спецов по битриксу есть свои сайты/блоги. НИ ОДИН из этих сайтов НЕ написан на битриксе. в основном вордпресс. о чем это говорит?

У многих водителей автобуса нет своего автобуса - о чем это говорит? - ни о чем!

поддомены мы понимать неходим, и куки ставить то же не будем

не дочитал про настройки доменов...

 

Игорь03 Июня 2014 02:41#1278

Добрый день!

Уже больше года мучаемся со своим сайтом, ве переписываем и дописываем, но в рейтинге все никак.

Те кто его писал, не слишком в этом понимали (вернее, понимал только один -мозг, но общаться с ним напрямую , не давали), есть большие подозрения в недоделках и отсутствии правильных настроек. Мне инужна консультация граммотного в 1с Bitrix человека как независимого эксперта. Надеюсь на сотрудничество. 

С уважением,

Игорь

hon21@yandex.ru

Александр21 Ноября 2014 03:52#1290

Последние 3 года использую CMS Битрикс для своих сайтов. Проблем нет. Главное в ней разобраться. Если на то пошло, к каждой системе есть вопросы по работе. Советую редакцию "Старт" + дополнительные компоненты :)

Алексей04 Декабря 2015 21:15#1303

Мне нужна консультация граммотного в 1с Bitrix человека как независимого эксперта. Надеюсь на сотрудничество.  С уважением, Алексей bio-spb@bk.ru

Илья04 Ноября 2016 20:49#1326

Мудохаемся с этим битриксом хрен знает сколько! Юкоз и то был проще...

А тут система за деньги и хер чего поменяешь! 

Владислав04 Ноября 2016 21:01#1327

Илья, битрикс всего лишь инструмент. Да, есть минусы, но в основном все зависит от рук.

я пробовал какой-то из этих конструкторов типа юкоза, та еще гадость)

Возврат к списку