
Настройки журналирования - вкладка в настройках ИБ
Академия 1С-Битрикс выпускников
|
![]() |
27.07.2011 13:08:37
По ряду причин агенты лучше |
|
|
|
31.01.2012 00:34:51
Иногда требуется, чтобы компонент генерировал XML-код, или еще что вне шаблона сайта. Можно делать для таких целей отдельный шаблон сайта, но по ряду причин это неудобно. Создавать страницу без визуальных шапок и подвала - еще более неудобно. Хотя бы потому что до них нельзя добраться и отредактировать параметры. Метод просто - внутри компонента до начала работы и какого-либо вывода:
Если на страницу зашли НЕ в режиме правки, то просто сбрасываем накопившейся буфер (все то, что было создано до подключения компонента). И в конце компонента:
|
|||||
|
|
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 мегабайта нагляднее скупого описания. Техническая поддержка скажет вам спасибо. Я для этих целей использую Пример последнего тикета в саппорт Битрикса — |
|
|
|
10.10.2012 00:01:46
При работе с фоновыми скриптами или агентами всегда проверяйте, что у них достаточно прав для работы. Типичный случай: скрипт отладили запуская из консоли, всё ок. Добавляем его как агент, а он не работает. Агент исполнялся от другого пользователя, а скрипт при своей работе пишет лог. Прав на запись не хаватало, система логирования бросала исключение которое никто не перехватывал и всё отваливалось. |
|
|
|
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
Пару лет назад на одном проекте начал накапливать обработчики событий на редактирование элемента. И код сгенерировать, и скриншоты нарезать. В общем, через пару лет самолет сохранялся минуту... Потом я понял, что после сохранения элемента добавляем агент (или несколько), которые и будут делать всю работу (коды, скрины, остатки, что угодно). Соответственно, хит редактора никак не будет тормозиться, на сайте это появится практически мгновенно (я запускаю агенты раз в минуту), а все агенты |
|
|
|
05.12.2012 11:30:17
В компоненте bitrix:menu.sections следует отключать IS_SEF, если вам не требуется выделение пунктов меню при переходе в соответствующую категорию. Иначе на каждом хите будет парситься URL. Ну и заодно следует помнить, что выделение пункта возможно только в ЧПУ-конфигурации раздела. |
|
|
|
15.12.2012 10:02:37
Бывает, что сайт отказывает (весь, или некоторые страницы), а браузер сообщает что-то типа "сброс соединения" или "неверное содержимое". В этом случае стоит отключить модуль компрессии, ошибки станут видны. Если недоступна и страница модулей, то достаточно в include.php модуля компрессии вставить return false; |
|
|
|
15.12.2012 16:36:59
Для удобной правки редакторами сайта удобно использовать IncludeFile
Но у него есть особенность: - включаемой области может и не быть, тогда ничего не выведется, а в дальнейшем может создаться автоматически через режим правки - и в этом случае есть неприятный сюрприз - область создастся по шаблону обычный страницы, то есть с header и footer, что плохо; чтобы этого избежать, в параметре TEMPLATE надо передавать имя пустой (если не надо иное) включаемой области, которые лежат в /bitrix/templates/.default/page_templates |
|||
|
|
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С-Битрикс».