Блог


[ОШИБКА] Filename out of range

Клиент закачал в папку на сервере PDF-файл с кириллицей в названии файла и получил ошибку вида:
Notice: Constant DBPersistent already defined in /var/www/project/data/www/site.rus/bitrix/php_interface/dbconn.php on line 4 Filename is out of range.

Решение:
Отредактировать .htaccess, убрав оттуда ненужные на Linux системе строчки кода.


RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} [\xC2-\xDF][\x80-\xBF] [OR]
RewriteCond %{REQUEST_FILENAME} \xE0[\xA0-\xBF][\x80-\xBF] [OR]
RewriteCond %{REQUEST_FILENAME} [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} [OR]
RewriteCond %{REQUEST_FILENAME} \xED[\x80-\x9F][\x80-\xBF] [OR]
RewriteCond %{REQUEST_FILENAME} \xF0[\x90-\xBF][\x80-\xBF]{2} [OR]
RewriteCond %{REQUEST_FILENAME} [\xF1-\xF3][\x80-\xBF]{3} [OR]
RewriteCond %{REQUEST_FILENAME} \xF4[\x80-\x8F][\x80-\xBF]{2}
RewriteCond %{REQUEST_FILENAME} !/bitrix/virtual_file_system.php$
RewriteRule ^(.*)$ /bitrix/virtual_file_system.php [L]

Добавить пагинацию в Битрикс (API)

Добавляем пагинацию к GetList. Первичный базовый код:



$res = CIBlockElement::GetList(
   array(), 
   $arFilter, 
   false, 
   array("nPageSize" => 10), 
   $arSelect);

while ($ob = $res->GetNextElement()) {
   $arFields = $ob->GetFields();
   echo '<pre>';
   print_r($arFields);
   echo '</pre>';
}


Нужно добавить два метода NavStart и NavPrint. Код с доработками:


$res = CIBlockElement::GetList(
   array(), 
   $arFilter, 
   false, 
   array("nPageSize" => 10), 
   $arSelect);

$res->NavStart(0); // разбивает результат выборки на страницы
while ($ob = $res->GetNextElement()) {
   $arFields = $ob->GetFields();
   echo '<pre>';
   print_r($arFields);
   echo '</pre>';
}
echo $res->NavPrint("Сотрудники"); // выводит ссылки для постраничной навигации


Как распаковать многотомный архив Bitrix

Иногда распаковка с помощью стандартного метода через restore.php может приводить к ошибкам.

Многие пытаются распаковать архив Битрикс вручную (например с помощью архиватора 7zip), но это не удается, так как расширения сформированные Битрикс отличаются от общепринятых.

Расширения в Битрикс:
name.tar.gz
name.tar.gz.1
name.tar.gz.2
name.tar.gz.3

Нужно:
name.tar.gz.001
name.tar.gz.002
name.tar.gz.003
name.tar.gz.003

Решение:

  1. Переименовать все файлы, начиная с первого. Расширение первого файла переименовать в gz.001
  2. Расширения последующих файлов переименовать в gz.002gz.003 и тд
  3. Использовать 7zip, нажав правую кнопку мыши на первый файл


Побеждаю net::ERR_INCOMPLETE_CHUNKED_ENCODING

Баг с установкой Корпортала Битрикс - видим "Карту сайта" вместо нужных рубрик

Битрикс - нельзя зайти в админку.

Баг с разлогированием в Битрикс (инфоблоки)

Боремся с ошибкой: Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

Баг в Битриксе при пролистывании. Решаем с checkOutOfRange

1. Решаем баг пролистывания используя недокументированный параметр checkOutOfRange.

Error processing file (Битрикс, резервное копирование)

1. Решаем ошибку "Error processing file" при создании архива через стандартный функционал резервного копирования.

Удаляем элемент с CIBlockElement::Delete() в Битрикс

1. Удаляем элемент с помощью метода CIBlockElement::Delete()
2. Смотрим три варианта размещения скрипта удаления

Создаем шаблон для вывода заявок. Проверяем принадлежность пользователя к группе (Битрикс).

1. Создаем шаблон для вывода заявок.
2. Проверяем, если ли пользователь в нужной нам группе.
3. Выводим информацию, если проверка пройдена.

Создание детальной страницы новости на Битрикс API

1. Создаем компонент детального вывода новости

Создание списка новостей на Bitrix API

1. Создаем компонент новостей с нуля
2. Используем CIBlockElement::GetList() для вывода списка
3. Используем циклы while(), for()

Оптимизируем скрипт импорта пользователей в 10 раз

Создаем динамическую карточку пользователя с методом GET

Выводим список пользователей на Битрикс API

1. Проверяем на принадлежность пользователя к группе "Администраторы" с помощью метода isAdmin()
2. Строим вывод списка пользователей с GetList()

Выводим данные любого пользователя на Битрикс

1. Получаем ID текущего пользователя методом GetID()
2. Получаем массив данных методом GetByID()
3. Получаем ссылку на файл методом GetPath()

Добавляем элемент со значением свойства "Список" (Битрикс)

1. Знакомимся с методом CIBlockPropertyEnum::GetList
2. Добавляем элемент со свойством Список

Работаем с формой заказа через метод POST

1. Передаем и записываем данные в инфоблок (Битрикс) через метод POST

Работаем с формой заказа через метод GET


Дневник 41 - 60 из 171
Начало | Пред. | 1 2 3 4 5 | След. | Конец