Перейти к содержанию

TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in ab__extended_metada ta/ab__functions/fn.placeholders.php:31


Рекомендуемые сообщения

Post #15065 Опубликовано

Дорогая команда AB,

при вызове index.php?dispatch=categories.view (без всяких аргументов, максимум это &page=) постоянно вылетает ошибка

TypeError
Message
count(): Argument #1 ($value) must be of type Countable|array, null given

Error at
app/addons/ab__extended_metadata/ab__functions/fn.placeholders.php, line: 31

Backtrace
File:	app/addons/ab__extended_metadata/func.php
Line:	98
Function:	fn_ab__emd_get_breadcrumbs_path
File:	app/addons/ab__extended_metadata/func.php
Line:	48
Function:	fn_ab__emd_replace_placeholders
File:	app/functions/fn.control.php
Line:	123
Function:	fn_ab__extended_metadata_dispatch_before_display
File:	app/functions/fn.control.php
Line:	629
Function:	fn_set_hook
File:	index.php
Line:	19
Function:	fn_dispatch

 

 Какой мурзилка вызывает данный url вопрос для нас непонятный и отдельный, в обычной работе сайта мы таких ошибок не замечаем. Но в любом случае просьба поправить, т.к. происходит это каждый день, а 500 ошибки в логах это не самое приятное.

 

P.S. Версия аддона последняя.

Post #15077 Опубликовано

@ab.support.serhii 500 ошибку. С нашими исправлениями (см. ниже) тоже 404.

 

Подозреваю что либо у нас код неактуальный, либо у вас какой-то новый на тестовом.

 

Что должно быть на 31 строке в актуальной версии?

 

У нас там 

$items_count = count($breadcrumbs);

А наш фикс заключается в добавлении проверки:

$items_count = is_countable($breadcrumbs) ? count($breadcrumbs) : 0;

После чего уже имеем 404 ошибку.

  • Администраторы
Post #15078 Опубликовано
В 27.10.2025 в 11:12, Mad сказал:

Что должно быть на 31 строке в актуальной версии?

Можете скачать из своего заказа архив

https://cs-cart.alexbranding.com/ru/orders/

и сравнить.

Спойлер

2025_10_27_1753901627.jpg.dc89450474909538aa51710ee6f5f61a.jpg

 

В 27.10.2025 в 11:12, Mad сказал:

500 ошибку. С нашими исправлениями (см. ниже) тоже 404.

Если выключить модуль, то что происходит?

Post #15079 Опубликовано

@ab.support.serhii если качать архив, то все как у нас, т.е. выдаёт ошибку.

 

Если модуль отключить, то имеем просто 404 ошибку, что весьма логично.

 

Из интересного - на нашем тестовом серваке при этом ошибка тоже не возникает. 

 

Всё окружение при этом 1 в 1, разница лишь в:
Боевой, где возникает ошибка:
<     'anti_csrf' => true, // protect forms from CSRF attacks
< $config['session_backend'] = 'redis';

---
Тестовый, где всё ок:
>     'anti_csrf' => false, // protect forms from CSRF attacks
> $config['session_backend'] = 'database';



Т.е. судя по всему ошибка вызвана настройкой session_backend. Как-то по разному/не так записываются/обрабатываются сессии, в итоге имеем пустые хлебные крошки и ошибку.

 

Если резюмировать - ошибка не критичная, и возможно возникает только у нас, но если есть возможность - добавьте таки проверку на null. Дело 1 секунды, а потенциально избавляет от ошибки.

  • Администраторы
Post #15080 Опубликовано
В 27.10.2025 в 12:01, Mad сказал:

добавьте таки проверку на null. Дело 1 секунды, а потенциально избавляет от ошибки.

Ок, запишу задачу и передам разработчику.

Спасибо.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...