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