Презентация: 1С-Bitrix — как начать

67
1С-Битрикс

Transcript of Презентация: 1С-Bitrix — как начать

Page 1: Презентация: 1С-Bitrix — как начать

1С-Битрикс

Page 2: Презентация: 1С-Bitrix — как начать
Page 3: Презентация: 1С-Bitrix — как начать

Я подумал, как мне привязать своё выступление к технологиям?

А потом понял: я же в этом что-то оказывается понимаю

Но я джуниор!

Я пять лет занимаюсь веб-разработкой, но джуниор!

Я руквожу тремя с половиной людьми.

Они молодцы.

А я джуниор.

Page 4: Презентация: 1С-Bitrix — как начать

Новый тренд – full stack web-developerИли веб-многознайка

Но причем тут битрикс?

Специализация удел насекомых © Хайнлайн

Page 5: Презентация: 1С-Bitrix — как начать
Page 6: Презентация: 1С-Bitrix — как начать
Page 7: Презентация: 1С-Bitrix — как начать
Page 8: Презентация: 1С-Bitrix — как начать
Page 9: Презентация: 1С-Bitrix — как начать
Page 10: Презентация: 1С-Bitrix — как начать
Page 11: Презентация: 1С-Bitrix — как начать
Page 12: Презентация: 1С-Bitrix — как начать
Page 13: Презентация: 1С-Bitrix — как начать
Page 14: Презентация: 1С-Bitrix — как начать
Page 15: Презентация: 1С-Bitrix — как начать
Page 16: Презентация: 1С-Bitrix — как начать
Page 17: Презентация: 1С-Bitrix — как начать
Page 18: Презентация: 1С-Bitrix — как начать

Мой путь в веб

Page 19: Презентация: 1С-Bitrix — как начать

Первый заказ

Page 20: Презентация: 1С-Bitrix — как начать

Успех

Page 21: Презентация: 1С-Bitrix — как начать

Проект

Page 22: Презентация: 1С-Bitrix — как начать

Зачем нужен Битрикс?

ЗП не как у php-макаки

Page 23: Презентация: 1С-Bitrix — как начать

Зачем нужен Битрикс?

ЗП не как у php-макакиМного проектов, всем нужна поддержка (как минимум)

Page 24: Презентация: 1С-Bitrix — как начать

Зачем нужен Битрикс?

ЗП не как у php-макакиМного проектов, всем нужна поддержка (как минимум)Безбедная старость (абсолютный лидер любого топа)

Page 25: Презентация: 1С-Bitrix — как начать

Сравнение топа коробочныхhttp://habrahabr.ru/post/231097/

Page 26: Презентация: 1С-Bitrix — как начать

Зачем нужен Битрикс?

ЗП не как у php-макакиМного проектов, всем нужна поддержка (как минимум)Безбедная старость (абсолютный лидер любого топа)40% скидка для кого-хочешь

Page 27: Презентация: 1С-Bitrix — как начать

Зачем нужен Битрикс?

ЗП не как у php-макакиМного проектов, всем нужна поддержка (как минимум)Безбедная старость (абсолютный лидер любого топа)40% скидка для кого-хочешьНеобходимый и достаточный набор компонентов из коробки

Page 28: Презентация: 1С-Bitrix — как начать

Зачем нужен Битрикс?

ЗП не как у php-макакиМного проектов, всем нужна поддержка (как минимум)Безбедная старость (абсолютный лидер любого топа)40% скидка для кого-хочешьНеобходимый и достаточный набор компонентов из коробкиCRM 24

Page 29: Презентация: 1С-Bitrix — как начать

• Проект делался год• Когда я пришел не было никакой документации• Это была вандер-вафля из информационных систем• Основная система с которой шла интеграция

написана инвалидами на Perl (лихие 90е, мы выживали как могли)

• Не использовалась система контроля версий• Базовый класс на 32кб, который наследовался

такими же дочерними классами• В качестве CMS использован 1С-Битрикс• И масса других приятностей

Page 30: Презентация: 1С-Bitrix — как начать

Но самое неприятное в том что…

Я не знал битрикса

Page 31: Презентация: 1С-Bitrix — как начать

Хотя нет. Самое страшное было в том, что…

Никто в команде не знал битрикса.

Page 32: Презентация: 1С-Bitrix — как начать

Как нам достался этот чудесный проект?

Page 33: Презентация: 1С-Bitrix — как начать
Page 34: Презентация: 1С-Bitrix — как начать

Как известно из бизнес книг нужно ставить в себя в зону дискомфорта

Мой путь в битрикс

Page 35: Презентация: 1С-Bitrix — как начать

Битрикс – это тот максимум дискомфорта, что вы сможете вытерпеть

Page 36: Презентация: 1С-Bitrix — как начать

Я думал что битрикс похож на остальные CMS

Page 37: Презентация: 1С-Bitrix — как начать

Потом я понял: его же написали в России!

Page 38: Презентация: 1С-Bitrix — как начать

Учебный проект

Page 39: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU (Stock Keeping Unit (идентификатор товарной позиции)) от картинки

Page 40: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки

Page 41: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS

Page 42: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS4.tfoot в таблицу убивает функционал корзины

Page 43: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS4.tfoot в таблицу убивает функционал корзины5.button в корзину требует переписывания 100500 строчек кода. Проще сделать <a>.

Page 44: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS4.tfoot в таблицу убивает функционал корзины5.button в корзину требует переписывания 100500 строчек кода. Проще сделать <a>.6.Подписка на товары не реализована, хотя заявлена

Page 45: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте•Зависимость SKU от картинки•Зависимоть SKU в каталоге от верстки•Они написали свой JS фреймверк BX:JS•tfoot в таблицу убивает функционал корзины•button в корзину требует переписывания 100500 строчек кода. Проще сделать <a>.•Подписка на товары не реализована, хотя заявлена•Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой метрики кода: видно что каждый писал так как любит. Сначал используют +=, потом отбивают "\", потом опять +=

Page 46: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS4.tfoot в таблицу убивает функционал корзины5.button в корзину требует переписывания 100500 строчек кода. Проще сделать <a>.6.Подписка на товары не реализована, хотя заявлена7.Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой метрики кода: видно что каждый писал так как любит. Сначал используют +=, потом отбивают "\", потом опять +=8.Порой, чтобы не рушить супер-связанную логику, проще сделать невидимым какую-то штуку, чем искать зависимости.

Page 47: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS4.tfoot в таблицу убивает функционал корзины5.button в корзину требует переписывания 100500 строчек кода. Проще сделать <a>.6.Подписка на товары не реализована, хотя заявлена7.Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой метрики кода: видно что каждый писал так как любит. Сначал используют +=, потом отбивают "\", потом опять +=8.Порой, чтобы не рушить супер-связанную логику, проще сделать невидимым какую-то штуку, чем искать зависимости9.SVG в качестве картинки для пункта меню — нельзя. Только png

Page 48: Презентация: 1С-Bitrix — как начать

Проблемы с которыми я столкнулся на тестовом проекте1.Зависимость SKU от картинки2.Зависимоть SKU в каталоге от верстки3.Они написали свой JS фреймверк BX:JS4.tfoot в таблицу убивает функционал корзины5.button в корзину требует переписывания 100500 строчек кода. Проще сделать <a>.6.Подписка на товары не реализована, хотя заявлена7.Все что связано с JS крайне трудно читаемо. Простыни кода, нет единой метрики кода: видно что каждый писал так как любит. Сначал используют +=, потом отбивают "\", потом опять +=8.Порой, чтобы не рушить супер-связанную логику, проще сделать невидимым какую-то штуку, чем искать зависимости9.SVG в качестве картинки для пункта меню — нельзя. Только png10.??????11.PROFIT: Я понял что уже достаточно познал, и можно руководить.

Page 49: Презентация: 1С-Bitrix — как начать
Page 50: Презентация: 1С-Bitrix — как начать

Как начать?

Page 51: Презентация: 1С-Bitrix — как начать

Программист говорит: “ща все будет” и начинает делать что привык. А к чужим системам привык он применять лом, гвоздодер и кувалду.

Page 52: Презентация: 1С-Bitrix — как начать

• Взять проект и начать пилить его.• Просмотреть видео на ютубе. За пару часов придет понимание

этой CMS• http://www.youtube.com/watch?v=JioES6mkKQU• http://camouf.ru/blog-note/bx_site_created/

• Потом сесть за проект. Сделать плохо. Понять вопросы. Перейти к документации.• Разработчик Bitrix Framework

• Крайне не однородная. То легко то капец.• Администратор. Модули.• Администратор. Бизнес.

• Сесть за проект. Понять в чем вопрос. Загуглить его. Почитать 20 страниц форума. Реализовать задачу.

• Написать в техподдержку. Ответ в течении 5 часов. • Повторить.

Page 53: Презентация: 1С-Bitrix — как начать

API — модель (M)Шаблон — представление (V)Компонент – Контроллер (C)

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

Компонент - это контроллер и представление. Компонент с помощью API одного или нескольких модулей манипулирует данными. Шаблон компонента (представление) выводит данные на страницу.

Page 54: Презентация: 1С-Bitrix — как начать

Комплексный и обычный компонент

Контроллер обычных компонентов. Содержит в себе массив компонентов. Комплексный – для разделов сайта. Обычный – для страницы.

Page 55: Презентация: 1С-Bitrix — как начать

Процесс работы на пальцах

Вы создаете копию шаблона компонента. Называете её как вам нравится.Дальше вся работа идет с этой копией. Это обеспечивает безболезненноеобновление.

Все шаблоны храните в /local/templates/.default/components. По умолчаниюОни пойдут в /bitrix/templates/<имя шаблона сайта>/components.

Каждый шаблон имеет структуру•Template.php – представление. То что отвечает за оформление страницы.•Style.css – стили шаблона.•Прочая ерунда, которую вы редко используете.

Опционально:•Script.js – битриксовский js код. Придется с ним изрядно попотеть.

Page 56: Презентация: 1С-Bitrix — как начать

$arParams – то что задали компоненту перед вызовом.

$arResult – то что получили, отработав код.

Result_modifier.php –вызывается перед подключением шаблона.

Component_epilog.php – подключается после исполнения шаблона.

Page 57: Презентация: 1С-Bitrix — как начать

В реальности никто никого не ограничивает и не регламентирует.Следствие: в шаблонах много бизнес-логики.

Page 58: Презентация: 1С-Bitrix — как начать

В БД создает 4 таблицы: •типы объектов;•экземпляры объектов;•свойства объектов;•значения свойств объектов.

КаталогКаталог парфюмерииАроматЛаванда

Плюсы•общая структура данных для любого проекта•возможность многократно менять типы данных для полей без уничтожения самих данных

Минусы•Производительность•Непрозрачный доступ к данным

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

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

Page 59: Презентация: 1С-Bitrix — как начать

Процесс работы на пальцах

Вы создаете инфоблок. Заполняете требуемые свойства (вес, цена, что угодно). Делаете наследование или связи. Указываете какие поля с чем связаны.

Через админку добавляете нужный компонент для работы с этим инфоблоком (как понять какой нужны? Читаете, или выставляете «список новостей». В 90% это нужный компонент.

Копируете шаблон компонента. Затем копируете код который создался.

Добавляете его в шаблон.

Правите компонент.

Page 60: Презентация: 1С-Bitrix — как начать

http://habrahabr.ru/post/189630/http://habrahabr.ru/post/219569/

Опыт колег

Удачная модель ветвления http://habrahabr.ru/post/106912/

Всё изменяемое можно положить в папку /local/ и спокойно работать с ней.

Page 61: Презентация: 1С-Bitrix — как начать

bitBucket

gitLab

gitHub

Page 62: Презентация: 1С-Bitrix — как начать

Столкнулись с тестированием. После недели ручного тестированияПришли к автоматизации функционального тестирования.

Page 63: Презентация: 1С-Bitrix — как начать

http://codeception.com/

Page 64: Презентация: 1С-Bitrix — как начать

phpCi

Page 65: Презентация: 1С-Bitrix — как начать

Что с проектом?

Page 66: Презентация: 1С-Bitrix — как начать

Что я узнал?

Page 67: Презентация: 1С-Bitrix — как начать

Вопросы?

• vk.com/dr_dremon• [email protected]