Обновление свойств инфоблока

В процессе разработки довольно часто приходится программно обновлять значения свойств элементов инфоблока. Под катом небольшая шпаргалка по api-функциям для решения этой задачи и форматам передаваемых в них данных. Читать дальше…

Тестируем технологию CDN от 1с-Битрикс

Одной из «киллер-фич» 12й версии Битрикса была объявлена возможность отдавать статические файлы из CDN, тем самым увеличивая скорость работы сайта. Попробуем оценить практический выигрыш от использования этого модуля, произведя серию замеров времени загрузки одной из страниц конкретного сайта. Читать дальше…

Что должен знать битрикс-программист?

Некоторое время назад мне довелось пройти больше десятка собеседований на позицию php-программиста (битрикс). К удивлению, требования в различных организациях отличаются совсем незначительно и есть возможность сформировать некий единый список необходимых знаний для успешного трудоустройства. Так что же должен уметь битрикс-программист с точки зрения работодателя? Читать дальше…

Как я кастомизировал портал

Представим узкую, но возможную на реальном проекте задачу — в стандартном шаблоне копроративного портала 1с-Битрикс изменить страницу, которая отвечает за вывод универсального списка в группе. По опыту работы с БУС и общим принципам устройства шаблонов компонентов сразу видится план:
— скопировать шаблон комплексного компонента;
— удалить из него все кроме нужной страницы, чтобы не терять обновления (почему так читаем тут);
— отредактировать нужную страницу.
Читать дальше…

Битрикс путает шаблоны сайтов

Дано: многосайтовость на разных доменах (2й способ), разные шаблоны для сайтов.

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

Решение: выключить html-кэширование. Периодически владельцы сайтов сами его включают, думая что так будет лучше.

Исправляем ошибку MySQL «Row size too large» в 1с-Битрикс

Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL «SQL Error (1118): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs» (или «Got error 139 from storage engine»). Ниже рассмотрены причины и условия ее возникновения, а также различные методы устранения, с вмешательством в настройки сервера или без него. Читать дальше…

Автокэширование в 1с-Битрикс — сложно о простом

Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц. Понимать принципы и грамотно ее использовать должен любой успешный «битрикс-разработчик» для создания быстрых и качественных проектов. Сегодня поговорим о связи кэша и шаблона компонента. Читать дальше…

Своя иконка для инфоблока в админке

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

Для этого нужно:
1. в css создать правило #my_menu_icon { background:url(путь до иконки); }
2. в /bitrix/php_interface/init.php дописать

AddEventHandler("main", "OnBuildGlobalMenu", array("MyClass", "OnBuildGlobalMenu"));
class MyClass
{
   function OnBuildGlobalMenu(&$aGlobalMenu, &$aModuleMenu)
   {
      $type = "articles"; // тип инфоблока
      $iblock_id = 19; // ID нужного инфоблока

      foreach($aModuleMenu as $i1 => $aMenu1)
      {
         if($aMenu1["items_id"] == "menu_iblock_/$type")
         {
            foreach($aMenu1["items"] as $i4 => $aMenu4)
            {
               if($aMenu4["items_id"] == "menu_iblock_/$type/$iblock_id")
               {
                  $aModuleMenu[$i1]["items"][$i4]["icon"] = "my_menu_icon";
                  //<a id="my_menu_icon"></a> + css = result
               }
            }
         }
      }
   }
}

Как получить ключ для переводчика Bing

C тех пор как корпорация добра стала злой и закрыла бесплатный доступ к своему переводчику, 1с-Битрикс использует для автоматической генерации имен файлов/папок/названий элементов и подобных вещей сервис от Bing. Чтобы включить этот функционал, необходимо сначала зарегистрироваться и получить «ключ приложения Bing». Внутри подробная иллюстрированная инструкция как сделать это быстро и безболезненно. Читать дальше…