С болью на сердце вижу, как многие проходят один и тот же путь, совершая те же ошибки. Не буду здесь писать о том, что перед началом разработки нужно прочитать документацию, руководства и учебные курсы (хотя это безусловно так). Who cares?
Постараюсь указать своего рода опорные флажки, за которые просто не надо заходить. Не пытайтесь понять это сейчас, позже понимание придет само.
[spoiler]
1. Забудь всё, что знаешь о других CMS
Если у вас есть опыт разработки на Joomla, Wordpress и пр. - это здорово, обязательно пригодится... потом. Но на начальном этапе не надо пытаться применить знакомые правила. Это тяжело и часто бывает серьезным препятствием к изучению Битрикса, но если удастся на время отречься от старого, можно будет легко принять новое.
2. Не лезь в базу данных
Вы отлично знаете SQL? Супер! Это поможет в дальнейшем в разработке больших проектов. И это будет очень важно при разработке высоконагруженных проектов. Структура таблиц Битрикса, свои запросы, свои таблицы - это то, чем сейчас вообще не надо заниматься. Надо принять базу данных как чёрный ящик, работа с которым идет через
3. Не меняй файлы ядра
Вы имеете богатый опыт разработки на PHP? Это просто отлично, у вас есть все шансы стать профессиональным разработчиком на Битрикс. Вы сможете легко разобраться, как работает АПИ и как оно устроено. Но не надо пытаться его улучшить или переделать под свою задачу. В /bitrix/modules, /bitrix/components/bitrix лежат системные файлы, их можно смотреть, но нельзя править. Для изменения логики работы АПИ и внутренних механизмов ядра есть
4. Не пиши свой модуль
Если человек спрашивает, как ему написать свой модуль, значит он настолько слабо знаком с продуктом, что просто не нашёл нужный инструмент для своей задачи. Когда вы будете готовы писать свой модуль (и это будет на самом деле необходимо), вы уже будете знать, как это делать.
5. Не задавай вопросов, ищи решение
Если вы начали работать с Битриксом и возник вопрос, значит (с учетом того, что на сайте зарегистрировано более 100 000 пользователей и продано более 50 000 лицензий) он уже возникал не менее 10 000 раз.
6. Не нашёл ответ - спроси
Если вы потратили на поиск ответа не менее двух часов и не нашли решение, самое время спросить более опытных товарищей. Не надо ничего изобретать. С вероятностью близкой к 100% решение вашей задачи всё же есть, но оно находится чуть глубже. Либо вы искали ответ в другой плоскости.
7. Задавай вопрос так, чтобы тебе самому хотелось на него ответить
Нет ничего сложного в том, чтобы правильно задавать вопросы. Не надо говорить о том, что у вас нет времени на поиск решения, что у вас горят сроки, что вы несчастны и т.д. Это никому не интересно. Коротко и четко опишите проблему, обязательно укажите, какие решения вы пробовали и почему они не подошли. Участники сообщества должны видеть, что вы уже приложили усилия для решения своей проблемы и готовы приложить ещё. Тогда вам обязательно помогут.
Как стать опытным битриксоидом
Заставьте себя работать по этим правилам, и уже самый первый проект не станет головной болью, как это часто бывает когда человек учится на своих ошибках. Если вам многое кажется нелогичным и неправильным, не тратьте силы чтобы доказать это, сделайте пометки на полях, и вернитесь к ним после того, как сделайте несколько успешных проектов.
Если вы полны сил сделать революцию - это очень хорошо, но сейчас поберегите силы на изучение, а потом мы вас с удовольствием выслушаем!
Опыт не зависит от того, сколько времени вы знакомы с Битриксом. А появляется в результате решенных задач. И, самое важное, после преодоления проблем.
- у вас уже падал сайт после правки из админки?
- ваши обработчики событий зацикливались?
- ваши агенты не работали из cron'а?
- ваши скрипты удаляли важные данные?
- ваш сайт переставал работать после переезда на хостинг?
- ваш сайт отключали на хостинге за нагрузку? вы оптимизировали скрипты после отключения?
- приходилось менять тариф на более старший из за возросшего числа посетителей?
- приходилось отключать кеш т.к. иначе сайт "глючил"? Вы выяснили, почему?
- писали свои компоненты?
- полностью переписывали их?
- вы уже не задаёте технические вопросы на форуме?
вот на маркетплейсе есть одинаковые компоненты, почему бы не толкать к совершенству один, а не плодить множество однотипного.
Как бы это организовать.
зачем все на себя, жадность?
добавил пару своих настроек, которые ты считаешь нужными, выложил в МПи ... вуаля, твой компонент круче.Особенно важно иметь в маркетплейсе 10 компонент вывода статуса icq
B пусть враги скажут, что у БУСа мало сторонних модулей, плюну им в фейс.
P.S. Надо бы добавить новую ссылку в "Быстрый старт разработчика"
А позже потребуется понимание структуры базы, когда речь пойдет о нагрузках, оптимизации запросов и пр.
Пожалуй, стоит написать правила опытного разработчика
Не читать правила перед ужином.
Нужен адекватный поиск по все вашей базе знаний, сейчас ответы на частные вопросы найти крайне сложно.
Всегда всё нахожу.
Всегда всё нахожу.
А по пятому пункту — на форуме полно актуальных вопросов без ответов. Десятки тем с одним и тем же вопросом, а ответов там нет. Ой, не просите пример.
вот мне надо сделать такую задачу, как это сделать на Битрикс?
И поподробнее.
Как то в одном из топиков с меня скриншоты попросили Без них непонятно.
Забить? или Забыть?
------------------------
и тут же противоречие.
а почему темы то одинаковые? может потому что никто друг друга не искал? А вдруг по такой теме уже есть ответ? в одном из 10. А вдруг есть?
9-я заповедь: сравнивай Битрикс с другими CMF и делай выводы (а не слушай маркетологов, о том как всё хорошо).
10-я заповедь: подумай о себе.
или это просто ОПЕЧАТКА?
не знаю какой в этом смысл, ведь на битриксе почти всё уже реализованно, но всё же есть извращенцы
я имел ввиду, что есть люди которые вообще не используют стандартные компоненты битрикса а используют только фреймворк битрикса как платформу и его апи для разработки своих собственных компонентов.
у меня есть несколько проектов на ТП, от других студий, в которых вообще нет ни одного системного компонента.. то-есть им вообще по сути стандартные компоненты не нужны
На счет информационной базы согласен, над этим вопросом будем работать.
Спам никто с форума никто не удаляет - что уж говорить про ответы(((
Я как раз недавно собирался написать об этом администрации - вам нужно разозлиться, и начать активно отвечать на форуме - хотя бы временно - для того, чтобы базу ответов улучшить. Ведь вопросы многие похожи.
Каждый год принимаем в техподдержку несколько человек. Все начинают с того, что ищут ответы на сайте не простые тикеты. И находят!
Если вы задаете технические вопросы на форуме - нельзя называть себя опытным битриксоидом.
вы - как наше казахстанское правительство - у вас своя реальность)). А то, что клиенты недовольны - это второстепенно))
Позволю себе еще одно замечание: мониторьте форум и отвечайте на грамотно оформленные вопросы - поощряйте тех пользователей, которые этого достойны, которые указали - где искали, как проявляется проблема, сделали скрины, и т.д. Ни в коем случае не оставляйте такие вопросы без ответа - пусть это будет за правило. А некоторые другие вопросы действительно можно игнорировать. Многие можно отфильтровывать даже на уровне заголовков, типа "У меня проблема" или "Ребята помогите", и т.д.
P.S. И уж тем более, нужно поощрять тех пользователей, которые находят баги. Они в буквальном смысле экономят вам деньги (это если бы вы тратились на тестеров)...
А форум - это ведь помощь именно сообщества.
Если честно, то когда видишь вопросы о том, о чем люди не имеют представления вообще (доки то никто не любит читать), а только объяснение технологий занимает не менее NNN часов, то никто не рискнет потратить свое время. Даже тот, кому эта тема интересна.
Но самим этим опытным пользователям от общения на данном форуме интересен прежде всего фидбек со стороны администраторов. Обсудить развитие продукта, исправление некоторых функций, высказать свою точку зрения. Причем в таком формате, чтобы участвовали не только админы, но и другие опытные пользователи.
Каждому должно быть на форуме интересно - имхо, это АЗБУКА.
Многие темы на форуме Битрикса подтверждают мои слова.
Просто, бывают у (любой) администрации темные полосы, когда лучше публично не появляться, это понятно, здесь главное - пройти через это, не прятаться за ширмой техподдержки, и найти мужество открыто появиться на форуме, чтобы держать удар...
Чтобы избежать всяких левых коментов (в том числе от конкурентов), можно закрыться Клиентским форумом, где общаться смогут только клиенты, так кстати многие и делают, и это очень эффективно.
Мы (клиенты) в любом случае поддержим Битрикс и словом и делом, но хотим справедливости. Я ничего не писал про бардак на форуме, пока не прочитал этот пост.
Пользователь со своими звёздочками по "Решил проблему" потом получает дополнительные баллы
1. Почему на указанной Денисом АПИ написано "1C-Битрикс: Управление сайтом"? Я не мог понять - где такая же для КП??? Потом пришел к выводу, что это обычный бардак - видать раньше не было КП, а потом просто не переименовали.
2. Почему на описанном Денисом форуме, у БУСа два основных раздела (Гостевой и Клиентский), а у КП только один (Гостевой)? Где клиентский форум КП? Потом пришел к выводу, что это опять бардак - видать раньше не было модуля техподдержки, и когда был только БУС (КП не было), то как и у многих других движков, поддержка велась в клиентском разделе форума. ЧТО КСТАТИ ОЧЕНЬ ЭФФЕКТИВНО, так как форум получается живой, и остальные пользователи видят как администрация решает проблемы, и учатся на ошибках других - таким образом растет и развивается сообщество...
А у нас на форуме (Битрикс) все друг другу просто советуют написать в ТП. И грустно и смешно.
наоборот
------------------------------
Что касается поиска - для начала это дремучий лес и вопрос полезности поиска спорный.
Как искать, не знаешь что?
Фактически многие начинающие попадают в ситуацию, когда поискал бы, но не знаешь как сформулировать строку поиска.
Чем больше опыта - тем больше эффективность поиска. В том числе и в гугл.
Чем больше опыта - тем больше эффективность поиска. В том числе и в гугл.
Тем важнее общение в рамках сообщества, то есть на форуме.
Еще одна мысль у меня возникла по этой теме. Не всегда на форуме пользователи просят о помощи, иногда пользователи не просят, а наоборот - предлагают помощь. Например, целая куча моих постов - отчеты о найденных багах. К сожалению, техподдержка не всегда помогает, поэтому приходится писать и на форум. Но и там игнор(( хотя это очень странно - ведь мы получаемся для вас как бесплатные тестеры. Если бы я был у руля этой организации, я бы поощрял тестеров - потому что это эффективно.
Если сочтете интересным, посмотрите ссылки на ветки форума, которые я приложу ниже. Вроде посты оформляю нормально (у меня таких постов много), баги нахожу не только у себя, но и подтверждаю их в вашей виртуальной лаборатории, привожу скрины, описание, и т.д. но на форуме (а в некоторых случаях и в ТП) с вашей стороны игнор.
Все-таки, мы свое тратим время, выискивая ваши многочисленные мелкие баги, основанные на невнимательности, можно было бы и оценить эти усилия...
На странице Фотогалерея (многопользовательская) не работает слайдшоу (комментируемые фото), В том числе на демо-сайте
Интересный периодический баг: страницы открываются не через personal.php, а через index.php
Свежая, сегодня добавил:
Три бага с тегами в версии 11.5. Проблема подтверждена в виртуальной лаборатории, При каждом редактировании поста, пропадает по одной букве из тега)))
ыыыыы, прям инструкция от тех. поддержки разработчикам
палитесь.....
Вы считаете, что "включать голову" - вредный совет?
"включать голову" совет не вредный. Однако, Вам не кажется крайне забавным совет от тех поддержки, который в переводе на русский звучит: "Не надо нам писать и спрашивать, гугл вам в руки и яндекс на шею. Ищите и обрящете"
хотя.....возможно.....существует множество вариантов перевода, каждый слышит то что хочет )))))
Что тут сказать, спасибо вам за совет. Вы правы, действительно, хреновая техподдержка всегда была хорошим стимулом к самообразованию (не первый раз встречаю). Так как мне движок понравился, буду учить. Книгу Роберта прочитал уже два раза, сейчас читаю php5, прохожу ваши курсы, выяснилось что на новом шаблоне (Битрикс24) нужно хорошо знать CSS, смотрю видеоподкасты каждый день...
Остается, Денис, только сказать вам спасибо
Что касается ошибок, если они доставили неудобства, прошу от лица нашей компании принять извинения.
я (клиент) заплатил деньги за работающий движок. после установки выясняется, что есть много дефектов. один только я нашел 15 багов (от смешных до критических). каждый из них подтвердил в вашей лаборатории, доложил в ТП (могу тикеты показать). и в ответ получил обескураживающее "К сожалению, точную или ориентировочную дату выхода обновлений назвать не можем". Баги не исправлены С ИЮНЯ.
ладно, я смирился с тем, что меня лохонули, и готов заплатить другим людям, чтобы исправили ваши баги, но вот я подумал, а вдруг Битриксовцы сами исправят свои баги!? вдруг случится чудо!? ждать мне или не ждать???
простите конечно, но я не обновлений прошу, я ПРОШУ ДАТЬ МНЕ ТО, ЗА ЧТО Я ЗАПЛАТИЛ. я не могу проект открыть без нормально работающего сайта.
знаю, что не будет у вас ответа, всё что вы уполномочены заявить, это то, что вы не можете назвать точную или примерную дату.........
потому прошу направить меня - куда мне обратиться по вопросу качества обслуживания отдела ТП? куда мне обратиться по вопросу возврата денег за некачественный и неработающий двиг?
Здесь мы этот вопрос не решим.
"К сожалению, точную или ориентировочную дату выхода обновлений назвать не можем"
Может кто-то из профессионалов возьмется сделать что-то подобное? Буду очень благодарен.
При этом в обязательном порядке на локальный компьютер ставится демо версия, на которой идет проработка учебного курса. Это значит, что каждый скриншот курса человек находит у себя и проделывает все действия урока. Это я считаю глубокой проработкой курса. В таком режиме идет работа около недели.
Затем я даю практические задачи на закрепление материала. Работа с компонентами, инфоблоками, страницами, разделами, меню. Обычно люди самостоятельно или с небольшой подсказкой успешно их решают.
Если это кому-то поможет, могу посвятить таким конкретным задачам отдельный пост. Но я не буду давать решение, так теряется смысл обучения.
но зато нашим новичкам будет полезен
На что нужно обратить внимание?Поделитесь опытом.Спасибо