Адаптация существующих модулей и тем под CS-Cart 4.18.4

Изменения в хуках

Новые хуки

  1. Изменяет параметры SQL для получения вариантов характеристик товара, выполняется до подсчета общего количества элементов:

    fn_set_hook('get_product_feature_variants_before_total_count', $fields, $join, $condition, $group_by, $sorting, $lang_code, $limit, $params);
    
  2. Выполняется перед ранним выходом для созданных характеристик и для случаев, когда feature_id не настроен по каким-либо причинам. Позволяет изменять данные не только для обновленных, но и для созданных характеристик:

    fn_set_hook('update_product_feature_before_early_exit', $feature_data, $feature_id, $lang_code, $old_feature_data, $action);
    
  3. Выполняется после заполнения комбинаций данными о товарах, позволяет изменять их:

    fn_set_hook('product_variations_populate_combinations_post', $this, $combinations, $features, $products, $data, $filter_combination_ids, $result, $variation_product_feature_ids, $exists_combination_ids, $exists_parent_combination_ids);
    
  4. Выполняется после объединения вариантов характеристик, позволяет изменять комбинации:

    fn_set_hook('product_variations_combine_feature_variants_post', $this, $features, $filter_variant_ids, $combinations);
    
  5. Выполняется перед генерированием комбинаций, позволяет добавлять собственные условия.:

    fn_set_hook('product_variations_generate_combinations_pre', $this, $group_features, $exists_product_ids, $combinations_data, $result);
    
  6. Выполняется перед генерированием комбинаций по варианту характеристики, позволяет добавлять пользовательские условия:

    fn_set_hook('product_variations_generate_combinations_by_feature_variant_pre', $this, $feature_variants, $exists_product_ids, $combinations_data, $result);
    
  7. Выполняется после получения налогов на товары:

    fn_set_hook('get_product_taxes_post', $idx, $cart, $cart_products, $taxes);
    
  8. Действия перед расчетом налоговой ставки:

    fn_set_hook('calculate_tax_rates_pre', $taxes, $price, $amount, $auth, $cart, $destination_id, $tax_description, $user_data, $taxed_price);