Сейчас делаю магазин на битрикс. И частенько заглядываю на всякие форумы, статейки, как там что сделать и документация естественно.
И местами мелькает фраза типа "делаем копию компонента и с ним работаем". То есть берут стандартный компонент и его изменяют под свои нужны.
Я решил заглянуть в стандартный компонент, там местами несколько тысяч строк кода. И мне кажется кастомизировать его под свои нужды + изменять дизайн, это ужас, я думаю это еще дольше чем написать свой простенький компонент от которого не требуется ничего сверх естественного (добавить в корзину/удалить/ посчитать сумму и тд). То есть я сейчас все делаю с полного нуля сам. Имею готовые кусочки кода и из них как из конструктора собираю магазин. Или я может чего не понимаю?
Первое, что нужно помнить, это то что сайт вы делаете не себя любимого, а для клиента. Также нужно понимать, что после вас его кто-то будет обслуживать и поддерживать.
Незнание кастомизации стандартных компонентов или банальная лень разработчика не освобождает его от ответственности. Писать свои простенькие компоненты стоит тогда, когда нет стандартного, но в основном 90% задач решается с помощью стандартных компонентов или расширением их возможностей.
С нуля же писать стоит только нетиповой функционал, или новый.
Ярослав Александров, Идея-то хорошая....
Но вот какая ситуация. Беру стандартный функционал и начинаю в нем разбираться. В коде, только в одном компоненте, примерно 3-4 тысячи строк кода. Не во всех, но есть такие компоненты и их достаточно много.
Мне надо разобраться, как он работает, понять, что разработчик там написал. Понять как работает , потратить время. И еще хорошо, если не потребуется вносить правки какие-то. Потому что я видел стандартный компонент где смешана логика и представление. То есть не разделено, а все в одном месте.
И я подумал, что я лучше из своих заготовок соберу быстренько стандартный магазин.
Конечно, я согласен, мысль не плохая. Поэтому и решил спросить кто ка собирает.
Опять же, кто как считает, кому как удобнее. Парни, снизу, считают что лучше с "нуля" написать. Вы считаете, что лучше из стандартных. Короче, мысли разделились на два лагеря)))
Кирилл Горелов, приведите примеры стандартных компонентов, которые вы хотите заменить на свои простые.
Под своими компонентами я кстати подразумеваю компоненты созданные в своём пространстве имён.
Если вы посмотрите популярные решения на маркетплейс, то там как раз используются стандартные компоненты, а свои модули и компоненты применяются для реализации функционала, которого нет в продуктах битрикса.
UPD:
Если делаешь сайт на компонентах и примерно понимаешь как все это работает, проще и лучше делать именно на написанных с нуля.
Стандартные компоненты пытаются быть с одной стороны гибко настраевыемыми, с другой стороны стараются изолировать API от пользователя. Так как это плохо совместимые задачи, настройки компонтентов пухнут, а логика в работы не оправданно усложняется пытаясь покрыть максимум потребностей.
Но на проекте тебе как правило нужны компоненты достаточно узкой специализации, если ты не хочешь их использовать за его пределами.
Поэтому написание с нуля на практике - лучшее решение.
Немного дополню:
используя стандартные компоненты, на выходе получается бОльшая нагрузка, т.к. они рассчитаны под большое количество нужд, чем конкретная задача.
Результат использования своих компонентов очень просто отследить, достаточно включить режим отладки и посмотреть количество запросов, которые генерирует страница.
Имхо, лучше свой шаблон стандартного компонента. Пусть компонент сопровождают битриксы, это их геморрой и хлеб. А вот внешний вид проще привести к своим нуждам, нежели переписывать весь компонент и логику.
Если ты понимаешь, как работают механизмы ИМ в Битриксе(с резервированием, скидками, складами и прочим), то можно и написать свои компоненты.
В остальных случаях проще менять шаблон.
Как компромисс = копировать стандартный шаблон в свой scope и там при необходимости убирать часть кода компонента