не могу понять почему у меня не получается использовать fn_set_hook('get_filters_products_count_post', $params, $lang_code, $filters, $selected_filters);
Для сортировки фильтров хочу чтобы
foreach (array_keys($filters[$filter_id]['variants']) as $variant_id) {
if (
!empty($available_variants)
&& isset($available_variants[$filter_id])
&& (
empty($available_variants)
|| empty($available_variants[$filter_id])
|| !empty($available_variants[$filter_id]['variants'][$variant_id])
)
) {
continue;
}
$filters[$filter_id]['variants'][$variant_id]['disabled'] = true;
}
имело такой вид :
foreach (array_keys($filters[$filter_id]['variants']) as $variant_id) {
if (
!empty($available_variants)
&& isset($available_variants[$filter_id])
&& (
empty($available_variants)
|| empty($available_variants[$filter_id])
|| !empty($available_variants[$filter_id]['variants'][$variant_id])
)
) {
continue;
}
$variant = $filters[$filter_id]['variants'][$variant_id];
unset($filters[$filter_id]['variants'][$variant_id]);
$variant['disabled'] = true;
$filters[$filter_id]['variants'][$variant_id] = $variant;
}
Но когда в init.php я подключаю
fn_register_hooks(
'get_filters_products_count_post',
);
фильтры становятся неактивными.
в func.php я писал :
function fn_rm_changes_get_filters_products_count_post($params, $lang_code, &$filters, &$selected_filters) {
foreach ($filters as $filter_id => $filter) {
if (!empty($filter['variants'])) {
foreach (array_keys($filter['variants']) as $variant_id) {
if (
!empty($selected_filters)
&& isset($selected_filters[$filter_id])
&& (
empty($selected_filters)
|| empty($selected_filters[$filter_id])
|| !empty($selected_filters[$filter_id]['variants'][$variant_id])
)
) {
continue;
}
$variant = $filters[$filter_id]['variants'][$variant_id];
unset($filters[$filter_id]['variants'][$variant_id]);
$variant['disabled'] = true;
$filters[$filter_id]['variants'][$variant_id] = $variant;
}
}
}
}
Что я сделал неправильно подскажите, пожалуйста…