Перенос содержимого инфоблока между типами
Нужно перенести содержимое из одного типа инфоблока в другой? В Битриксе нет такой штатной возможности. Среди предложенных идей для разработчиков предложение на обсуждении с 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. Быстрый поиск во втором компоненте работает, а при переходе на расширенные результаты поиска и первый компонент - результаты есть только для запросов на кириллице, но не латинице. Решение - отключить в настройках поиска битрикса морфологию.