July 3, 2014

Битрикс. Что делать если нет доступа к админке.

Добрый вечер! Частенько возникает такая ситуация когда клиенты дают доступ к сайту по SSH/FTP но при этом напрочь забывают завести нового пользователя администратора в 1С-Битрикс. И спросить иногда бывает не у кого.

Читать далее

June 24, 2014

Документация по коду модулей 1С-Битрикс

Наткнулся тут на замечательный репозиторий на Github в котором один добрый человек выложил код модулей 1С-Битрикс Веб-кластер с развернутыми комментариями.

При желании этот репозиторий можно склонировать и подключить в своей любимой IDE для появления подсказок по функциям стандартных модулей Битрикс.

Читать далее

November 13, 2013

Битрикс. Делаем ссылки на скачивание файлов.

Всем привет! Довольно часто возникает необходимость в размещении на сайте ссылок для скачивания каких либо материалов (например .pdf, .jpg, .mp3) которые обычно пытается отобразить браузер. Для этого при отдаче файла сервер должен вернуть браузеру необходимые заголовки. В этом нам поможет php. Признаться честно для этих целей я нашел уже готовый код и слегка подпилил под свои нужды.

В итоге получился вот такой вот скрипт.

Обращаться к нему надо так: /attach_download.php?file=FILE_ID, где FILE_ID это числовой идентификатор файла загруженного в свойство инфоблока.

Далее листинг:

Читать далее

August 11, 2013

Битрикс и кэш меню

Всем привет! Оптимизировал тут на днях один сайт (Битрикс Малый бизнес 10) и решил поискать «тяжелые» директории. Для наглядного представления и ускорения процесса воспользовался утилитой ncdu.

В итоге оказалось что 6,5 Гб занимает директория bitrix. Полез в нее смотреть, ага 5,5 Гб занимает managed_cache (что в принципе ожидаемо).

Интереса ради решил залезть в нее и глянуть что там и немного прифигел =)

Читать далее

July 10, 2013

Битрикс веб-формы и hidden-поле с вопросом

Всем привет! На сегодня ультракороткий совет по 1С-Битрикс. Предыстория такова:

Понадобилось мне сегодня создать в веб-форме hidden-поле куда скриптом бы записывалось значение со страницы на которой заполняется форма. Все стандартно, частенько такое уже проделывали. Созда веб-форму, создал необходимые поля, но в итоговой форме не обнаружил hidden-поля. Вывел все значения в шаблоне через print_r - тоже тишина.

Читать далее

May 17, 2013

Bitrix:catalog.smart.filter где настраивать поля

Доброй ночи! Пишу сей небольшой пост который возможно кому то сэкономит время на настройке сего компонента.

Некоторое время я ломал голову над тем как же этот «Умный» фильтр настраивается и как туда добавить дополнительные поля - стандартные настройки для фильтра каталога на него мало того что не действуют, так стандартный фильтр при использовании «умного» нужно вовсе отключить.

Читать далее

April 24, 2013

bitrix:news.list в другом шаблоне

Всем привет!

Пишу сей небольшой пост который надеюсь сэкономит кому-то 10-15 минут времени на поиск решения. общем ситуация такова:

  1. Была задача вывести в детальном шаблоне новости отфильтрованные ссылки на другие новости
  2. Для вывода списка решил воспользоваться компонентом news.list (хотя можно было проще ручками через GetList) код вызова которого я разместил в шаблоне news.detail
  3. Прописал FILTER_NAME => “arrList” и в $arrList добавил массив с фильтром, но он отчего-то не заработал.
Читать далее

April 11, 2013

Битрикс. Forum.comments. Не указан тип сущности.

Или же «Неверный тип сущности»… Да да, такими супер информативными сообщениями радует нас порой компонент для прикручивания комментариев. Немного погуглив выяснил что нужные параметры которые от нас требует Битрикс называются: ENTITY_TYPE, ENTITY_ID и ENTITY_XML_ID.

Причем:

  1. В настройках компонента нету таких настроек (как это вообще возможно то???)

  2. По данному компоненту отсутствует документация.

В итоге за разъяснениями пришлось лезть в исходный код компонента: /bitrix/components/bitrix/forum.comments/component.php где в первых строчках кода нашлась разгадка.

Читать далее

February 16, 2013

Битрикс. Корпоративный портал. Фильтрация списка сотрудников

Всем привет! Не так давно после очередного планового обновления CMS Битрикс на корпоративном портале внезапно слетела фильтрация сотрудников по департаментам. Реализована она была вот таким нехитрым кодом:

<?php

$users_UF_DEPARTMENT = 510;

//...

$APPLICATION->IncludeComponent("bitrix:intranet.structure.list", "list1", array(
    //...
    "FILTER_NAME" => "users",
    ),
    false
);?>

Признаться честно я и раньше не доверял такому обозначению фильтра ($users_UF_DEPARTMENT), ну а теперь он и вовсе перестал работать. Решение данной проблемы подсказала техподдержка 1С-Битрикс. Как оказалось нужно поменять всего пару символов в коде:

Читать далее

February 14, 2013

Битрикс. Выгрузка из 1С и отмена перезаписывания полей

Всем привет!

Наконец то дошли руки написать небольшой пост который возможно кому-то пригодится.

Итак, сразу к делу. Есть интернет-магазин работающий на Битрикс и синхронизирующийся в автоматическом режиме с 1С. Менеджерам заполняющим описания товаров намного удобнее заполнять описания через веб-интерфейс Битрикс т.к. там визуальный редактор и прочие блага цивилизации.

Но вот незадача, при очередной синхронизации с 1С описания товаров затираются описаниями оттуда (как правило пустыми). Для решения проблемы нужно исключить из выгрузки поля PREVIEW_TEXT и DETAIL_TEXT. Вот немного дописанное мной решение которое я обнаружил на просторах интернетов.

Читать далее

December 28, 2012

Битрикс. Реализация отправки СМС в ИМ.

Всем привет! Сегодня пост будет касательно такой интересной темы как отправка смс сообщений о заказах в интернет-магазине клиентам и собственно оператору магазина. Итак, что мы имеем:

  • Интернет-магазин реализованный на 1С-Битрикс: Малый бизнес 12 редакции,
  • Желание сделать все быстро и качественно
Читать далее

December 23, 2012

Своя выгрузка в Яндекс.Маркет с 1С-Битрикс

Всем привет!

Сегодня я расскажу такую интересную тему как выгрузка каталога товаров из Битрикс в Яндекс.Маркет.

Вообще этот вопрос довольно подробно рассмотрен в официальной документации, да и все там интуитивно понятно.

Но разбирать мы будем нетривиальный случай - на одном интернет-магазине потребовалось сделать выгрузку товаров в Яндекс.Маркет, товары там хранятся в одном инфоблоке, а торговые предложения к ним в другом. Как оказалось - функционал выгрузки в маркет из подобной конфигурации с двумя инфоблоками появился сравнительно недавно (осенью 2011), а на сайте уже летом прошлого года закончилась лицензия на обновления. Поэтому пришлось как то выкручиваться.

Читать далее

November 23, 2012

Битрикс. Не удаляются товары из корзины

Всем привет!

Сегодня будет довольно короткий, но думаю полезный совет касательно корзины покупок в CMS Битрикс (/personal/cart/). Столкнулись со странным глюком: добавленные товары никак не хотели удаляться и число заказанных товаров также не было возможности поменять - при пересчете товаров загружалась страница с тем же количеством товаров. При этом никаких сообщений об ошибке не выдавалось.

Читать далее

November 19, 2012

Битрикс. Корпоративный портал. Правило обработки писем на php.

Всем привет! Данный пост будет с минимумом комментариев и по большей части будет состоять лишь из полезного кода.

Итак, возникла необходимость автоматического создания сообщения в конкретной рабочей группе при отправке письма на специализированный почтовый ящик (который привязан в корпортале) с темой письма вида #имя_рабочей_группы#.

По сути таким функционалом обладает стандартное почтовое правило “добавление сообщений в форумы соцсети” которое отчего то не работало (ТП также не смогла ничем помочь). Поэтому было принято решение написать свою реализацию правила на php.

Читать далее

November 19, 2012

Битрикс. Веб-форма и разные адресаты.

Всем привет!

Не так давно (а конкретно - год назад), я писал пост с примером реализации отправки почты из веб-формы в 1С-Битрикс разным адресатам. Сейчас возникла необходимость снова сделать подобное, только на более серьезном проекте где костыли с прописыванием адресов прямо в init.php не прокатят =)

Поэтому встречайте новый вариант реализации данного решения.

Приготовления: Итак, будем считать что у нас уже готова веб-форма, почтовое событие и почтовый шаблон. В веб-форме есть возможность выбрать ДЦ (пусть будет Москва и Санкт-Петербург) и в зависимости от выбранного варианта результаты формы будут уходить на разные почтовые адреса.

Читать далее

September 13, 2012

bitrix.news + ajax filter + костыли

Всем привет! На одном сайте есть комплексный компонент отображающий количество вакансий в одном из филиалов компании. Реализован он так: cверху фильтр с двумя списками - в одном филиалы, в другом должности, внизу список доступных должностей.

Все работало отлично и не требовало вмешательств, но появилась новая задача - обновление списка должностей при переключении радиобаттона по филиалам. Предстояло как то добавить отправку ajax-запроса по onchange у радиобаттонов.

Читать далее

August 22, 2012

Bitrix:catalog.section - сортировка по двум параметрам

Всем привет! Сегодня я кратко расскажу о том как реализовать в стандартном компоненте сортировку одновременно по двум параметрам. Это бывает полезно в таких случаях когда например в каталоге уже настроена сортировка элементов (товаров) по какому то параметру, но какие то товары нужно вывести в начале списка или в конце (к примеру хиты продаж либо же какие то “непродаваемые товары” xD).

Стандартный компонент bitrix:catalog.secion сортировать сразу по двум параметрам не умеет, но зато это умеет делать функция CIBlockElement::GetList. Хм…

Читать далее

July 31, 2012

Битрикс. Выводим страницу без шаблона.

Иногда возникает необходимость в использовании классов и функций Битрикс в простом php-файле который должен отдавать какие-либо данные (например xml, json и т.д.).

Но для того чтобы функции CMS Битрикс были доступны в нашем php-скрипте в его начале должна быть строчка с подключением верхней части шаблона:

Читать далее

July 19, 2012

Битрикс. Делаем разные заголовки в браузере и на странице

Здравствуйте! Сегодня я расскажу вам как можно прикрутить костыль для отображения разных заголовков в браузере и на странице средствами CMS Битрикс. Иногда возникает такая проблема когда в шаблоне прописан вызов функции ShowTitle() в двух местах - <title></title> и перед вызовом #WORK_AREA#. К примеру сегодня довелось разбираться с шаблоном где за отображение середины страницы отвечает такой код:

<?php
//...
$APPLICATION->ShowTitle();?>

#WORK_AREA#

В итоге имеем одинаковые заголовки в окне браузера и страницы. Сейчас я расскажу вам как это дело исправить.

Читать далее

July 5, 2012

Битрикс. Делаем страницу 404 правильно.

Всем привет!

Сегодня будет короткий пост о том как стандартными средствами CMS Битрикс сделать обработку 404-ошибки на сервере и выводить собственную страничку с ошибкой в заголовках которой будет ответ 404, а не 200 OK. В противном случае поисковые системы могут посчитать эти страницы за существующие и добавить в индекс много дублей одной странички.

Итак, приступаем.

Читать далее

June 13, 2012

Битрикс. Глюки в админке и конвертация в UTF-8

Добрый день! На днях переносил сайт с одного сервера (настройки под битрикс в cp1251) на другой где настройка mbstring.overload имеет значение 2 (требуется когда битрикс установлен в кодировке utf-8). Перенеслось все успешно и кодировка нигде не попортилась.

Читать далее

June 6, 2012

Битрикс: Отключаем редактор с подсветкой синтаксиса

Всем привет! И снова сегодня ультракороткий пост с небольшим советом. Не так давно ковыряясь в шаблоне компонента очередного сайта на CMS Bitrix я случайно нажал какую-то магическую комбинацию клавиш включившую продвинутый редактор с подсветкой синтаксиса который выглядит вот так:

При этом подсветка синтаксиса работает криво и вообще лошадиные буквы в этом редакторе мне сразу не понравились =) Решение подсказали на официальном форуме Битрикс:

В админке “Рабочий стол -> Настройки -> Настройки продукта -> Настройки модулей -> Управление структурой” Снять галку “Использовать редактор кода с подсветкой синтаксиса”

И все пучком =)

April 18, 2012

Битрикс. Вытаскиваем цену из элемента инфоблока.

Добрый день! Столкнулся тут с небольшой проблемой при вытаскивании элементов инфоблока при помощи функции CIBlockElement::GetByID, а именно отсутствия в результатах цен (элементы инфоблока это товары). Не буду тянуть резину, вот решение с комментариями:

Читать далее

March 26, 2012

Битрикс "Корпоративный портал" проблема с подключением сетевых дисков

Итак, есть корпоративный портал работающий на соответствующей версии 1С-Битрикс. Появилась проблема с подключением документов с портала в виде сетевых дисков в Windows 7. В XP эти же доки спокойно подключались как веб-папки (WebDAV), но никак не желали подключаться как сетевые диски. В семёрке не работали оба метода. Соединение к порталу осуществляется по https:// После изучения документации Битрикс (http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=23&LESSON_ID=1340) и перелопачивания кучи тем на форумах с предложениями правки реестра и прочей магии решил попробовать самый простой вариант (по-любому ведь не заработает..)

Читать далее

March 15, 2012

Битрикс. Решение проблемы с LocalRedirect

Итак, кратко суть проблемы. При переезде на другой сервер проявилась одна интересная бага. С виду все функционировало нормально, но стоило из админки отредактировать какой-нибудь файл и нажать “Сохранить” так браузер уходил в долгие раздумья и затем с грустью сообщал что не может открыть страницу к адресу которой почему то добавлялся порт 1350. Встроенная проверка сайта ругалась на ошибки функции LocalRedirect.

Как оказалось вся проблема была в том что на новом хостинге не были доступны все необходимые серверные переменные. Вся проблем решилась прописыванием в /bitrix/php_interface/dbconn.php:

$_SERVER["SERVER\_PORT"] = "80";

Удачи! =)

February 9, 2012

Битрикс - Class 'CIBlockElement' not found

Небольшой совет битрикс-разработчикам. Бывает так что вместо результата на странице красуется такого рода ошибка. У меня это проявилось когда я решил открыть страницу в режиме печати. Просто в шаблоне используется функция CIBlockElement::GetList собственно на которую битрикс грязно выругался =)

Все дело в том что перед вызовом этой функции нужно подключить модуль iblock.

Читать далее

October 19, 2011

Веб-форма отправки почты на Битрикс

Итак дорогие друзья, сегодня я расскажу вам о том как делал веб-форму отправки писем на битрикс. Сразу отвечу на резонный вопрос о том что ведь есть в Битриксе компонент для фидбеков (bitrix:main.feedback) и он прекрасно работает! Но в данном случае мне понадобилась отправка писем на разные почтовые ящики в зависимости от темы выбранной в веб-форме. Благодаря встроенным функциям в Битриксе сделать это не так уж и сложно.

Читать далее