Тонкости в работе с 1С-Битрикс 2

Обзор обновления aveCRM 5.1
Обзор обновления aveCRM 6.0
Тонкости в работе с 1С-Битрикс 2

Перенос содержимого инфоблока между типами

Нужно перенести содержимое из одного типа инфоблока в другой? В Битриксе нет такой штатной возможности. Среди предложенных идей для разработчиков предложение на обсуждении с 2013 года, но оно так и не реализовано. Не нужно редактировать в базе данных инфоблоки или делать экспорт - импорт. Вам нужно:

  • Открыть на редактирование нужный инфоблок
  • В адресной строке заменить значение параметра type на нужный тип инфоблока, перейти на эту страницу
  • Нажать сохранить
  • Инфоблок со всем содержимым был перенесен

Добавление капчи к любой форме

В случае, если к произвольной форме нужно добавить капчу и ее проверку, используйте следующий метод.

// подключаем файл модуля капчи
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
 
// создаем объект капчи
$cpt = new CCaptcha();
 
// достаем значение параметра captcha_password из главного модуля
$captchaPass = COption::GetOptionString("main", "captcha_password", "");
 
// если строка пуста, генерируем случайное значение
If (strlen($captchaPass) <= 0){
    $captchaPass = randString(10);
    COption::SetOptionString("main", "captcha_password", $captchaPass);
}
 
$cpt->SetCodeCrypt($captchaPass);

В самой форме в нужном месте

<input name="captcha_code" value="" type="hidden">
<img src="/bitrix/tools/captcha.php?captcha_code=">
<input id="captcha_word" name="captcha_word" type="text">

Проверка данных

if($APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"])){
    echo 'Всё верно!';
} else {
    echo 'Неправильно введен код с картинки!';
}

Создание карты сайта по расписанию

Если на сайте используется отложенная публикация документов, то стандартный модуль карта сайта для Битрикса не подходит, так как он собирает в карту все документы, учитывая статус публикации, а не дату. Поэтому в в список могут попадать документы, которые активны, но дата публикации которых еще не наступила. Решение проблемы следующее:

  • В настройках модуля отключаем автоматическую генерацию
  • Скачиваем файл ссылка и сохраняем его в папку /local/php_interface/crontab/sitemap.php (нужно поменять расширение с txt на php)
  • Добавляем в список крон задач ссылку на данный файл и выставляем периодичность выполнения

Не работает поиск

Есть два компонента, search.page и search.title. Быстрый поиск во втором компоненте работает, а при переходе на расширенные результаты поиска и первый компонент - результаты есть только для запросов на кириллице, но не латинице. Решение - отключить в настройках поиска битрикса морфологию.

Вы готовы начать работу или получить консультацию?

Самый простой способ - написать нам. Не стесняйтесь задавать вопросы. Мы готовы начать обсуждение вашего проекта сейчас, сделайте следующий шаг, напишите нам.