
Настройки журналирования - вкладка в настройках ИБ
Академия 1С-Битрикс выпускников
|
![]() |
Сообщение станет доступным после одобрения модератором.
13.07.2011 14:35:56
Советую даже опытным спецам посмотреть как сделаны (и которые будут сделаны) решения от самого Битрикс (магазин, инфопортал, к примеру). Встречаются довольно хитрые решения, новый взгляд на обычные компоненты ![]() Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|
|
|
14.07.2011 18:37:59
Если требуется обновить большое количество элементов, то имеет смысл обновление производить в обход индексации поиском:
4-й параметр в false. А уже после обработки запустить переиндексацию инфоблоков сайта. Запись в модуль поиска увеличивает конечное время исполнения в десятки-сотни раз. Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|||
|
|
27.07.2011 13:08:37
По ряду причин агенты лучше Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|
|
|
31.01.2012 00:34:51
Иногда требуется, чтобы компонент генерировал XML-код, или еще что вне шаблона сайта. Можно делать для таких целей отдельный шаблон сайта, но по ряду причин это неудобно. Создавать страницу без визуальных шапок и подвала - еще более неудобно. Хотя бы потому что до них нельзя добраться и отредактировать параметры. Метод просто - внутри компонента до начала работы и какого-либо вывода:
Если на страницу зашли НЕ в режиме правки, то просто сбрасываем накопившейся буфер (все то, что было создано до подключения компонента). И в конце компонента:
Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|||||
|
|
10.05.2012 16:49:00
Всегда создавайте символьные коды свойства в верхнем регистре. Так при обращении к ним в коде вы не будете путаться. |
|
|
|
10.05.2012 17:04:11
Т.е. если я буду помнить, что я назвал свойство prop, то и ожидать буду в массиве prop, а не PROP как оно будет в реальности. А это уже разные ключи и лишний повод для ошибки. А с верхним регистром трудно ошибиться ![]() |
|||
|
|
16.05.2012 22:53:24
Всегда проверяйте свои разработки на последних стабильных |
|
|
|
27.08.2012 23:22:49
Всегда следите за памятью в ваших скриптах, особенно если они работают в фоне. Код на PHP можно написать так, что приложение будет «течь» как ниагарский водопад. Если это обычная страница, то это ещё куда не шло. Максимум через 30 секунд её жизнь закончится. Но если это обмены с другой ИС, фоновая задача работающая десятки минут или даже часы, то небрежность в коде может привести к печальным последствиям. Скрипт будет вылетать «по памяти». Желание «добавить ещё памяти» не вариант, нужно смотреть что «течёт» и исправлять. Тяжёлая артиллерия это xhprof или xdebug, но можно сделать проще в течении 5 секунд. Вызов memory_get_usage — ![]() |
|
|
|
03.09.2012 22:58:03
Пользуйтесь ПО для записи экрана при моделировании ошибок когда тестируете код Запись в 2-3 мегабайта нагляднее скупого описания. Техническая поддержка скажет вам спасибо. Я для этих целей использую Пример последнего тикета в саппорт Битрикса — |
|
|
|
12.11.2012 12:29:06
Дальновиднее делать ресайз и/или накладывать ватермарки только в шаблонах компонентов, а оригиналы изображений, хранящиеся в инфоблоках, оставить в покое. Cовет от |
|
|
|
18.11.2012 19:56:12
Используйте символьные коды в поляx XML_ID при создании свойств списка, так ваш код не будет привязан к автоинкрементным идентификаторам и будет переносимым.
Изменено: Месилов Максим - 18.11.2012 19:58:42 |
|||
|
|
30.11.2012 13:59:59
Пару лет назад на одном проекте начал накапливать обработчики событий на редактирование элемента. И код сгенерировать, и скриншоты нарезать. В общем, через пару лет самолет сохранялся минуту... Потом я понял, что после сохранения элемента добавляем агент (или несколько), которые и будут делать всю работу (коды, скрины, остатки, что угодно). Соответственно, хит редактора никак не будет тормозиться, на сайте это появится практически мгновенно (я запускаю агенты раз в минуту), а все агенты Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|
|
|
05.12.2012 11:30:17
В компоненте bitrix:menu.sections следует отключать IS_SEF, если вам не требуется выделение пунктов меню при переходе в соответствующую категорию. Иначе на каждом хите будет парситься URL. Ну и заодно следует помнить, что выделение пункта возможно только в ЧПУ-конфигурации раздела. Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|
|
|
15.12.2012 10:02:37
Бывает, что сайт отказывает (весь, или некоторые страницы), а браузер сообщает что-то типа "сброс соединения" или "неверное содержимое". В этом случае стоит отключить модуль компрессии, ошибки станут видны. Если недоступна и страница модулей, то достаточно в include.php модуля компрессии вставить return false; Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|
|
|
15.12.2012 16:36:59
Для удобной правки редакторами сайта удобно использовать IncludeFile
Но у него есть особенность: - включаемой области может и не быть, тогда ничего не выведется, а в дальнейшем может создаться автоматически через режим правки - и в этом случае есть неприятный сюрприз - область создастся по шаблону обычный страницы, то есть с header и footer, что плохо; чтобы этого избежать, в параметре TEMPLATE надо передавать имя пустой (если не надо иное) включаемой области, которые лежат в /bitrix/templates/.default/page_templates Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли. |
|||
|
|
09.02.2013 18:06:24
Если php-функция вернула флаг сигнализирующий об ошибке, то всегда вызывайте Особенно, если это фоновые скрипты, которые работают автономно. 1. Самый плохой пример. Наивно полагаем, что все всегда будет хорошо. ... copy($arNewModule['MODULE_PICTURE'], $dstFilePath); ... 2. Уже лучше, но что произошло так и останется загадкой. А если такое писать в лог, то вообще ничего не понятно. if(!copy($arNewModule['MODULE_PICTURE'], $dstFilePath)) { print('Ошибочка вышла'); } 3. Проверяем результат выполнения, при ошибках получаем детальную информацию о ее причинах. $result = copy($arNewModule['MODULE_PICTURE'], $dstFilePath); if(FALSE == $result) { DbgLog::Add(error_get_last(), self::MODULE_ID, DbgLog::ERR); // приложение реагирует на ошибку ... } Кусок лога: .... 13.09.02 17:51:14 | 41481 kb | ERR | Array ( [type] => 2 [message] => copy( 1 404 Not Found [file] => /home/bitrix/www/bitrix/php_interface/mp-analayser/MarketplaceElements.php [line] => 693 ) ... |
||||
|
|
|||
Сообщение станет доступным после одобрения модератором.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».