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

Изменения в ядре

Изменённые функции

  1. // Было:
    fn_create_seo_name($object_id, $object_type, $object_name, $index = 0, $dispatch = '', $company_id = '', $lang_code = CART_LANGUAGE, $create_redirect = false, $area = AREA, array $params = [])
    // Стало:
    fn_create_seo_name($object_id, $object_type, $object_name, $index = 0, $dispatch = '', $company_id = '', $lang_code = CART_LANGUAGE, $create_redirect = false, $area = AREA, array $params = [], $changed = false, $input_object_name = '')
    
  2. // Было:
    fn_vendor_categories_fee_calculate_payout($order_total, $payout_data, $products, $main_categories_fee, $parent_categories_fee, $payouts_history, $formatter = null)
    // Стало:
    fn_vendor_categories_fee_calculate_payout($order_total, $payout_data, $products, $main_categories_fee, $parent_categories_fee, $payouts_history, $formatter = null, $products_subtotal = null)
    
  3. // Было:
    fn_get_preview_url($uri, $object_data, $user_id)
    // Стало:
    fn_get_preview_url($uri, $object_data, $user_id, $lang_code = DESCR_SL)
    
  4. // Было:
    fn_seo_check_redirect_url($url, $company_id = 0)
    // Стало:
    fn_seo_check_redirect_url($url, $company_id = 0, $is_destination_url = false)
    
  5. // Было:
    fn_get_destinations($lang_code = CART_LANGUAGE)
    // Стало:
    fn_get_destinations($lang_code = CART_LANGUAGE, $params = [])
    
  6. // Было:
    function fn_bottom_panel_get_redirect_url($from_area, $from_url, $current_area, $current_account_type)
    // Стало:
    function fn_bottom_panel_get_redirect_url($from_area, $from_url, $current_area, $current_account_type, $user_id)
    
  7. // Было:
    fn_yml_get_offers_features()
    // Стало:
    fn_yml_get_offers_features($company_id = 0)
    
  8. // Было:
    fn_yml_update_offers_features($features)
    // Стало:
    fn_yml_update_offers_features(array $features, $company_id = 0)
    
  9. // Было:
    function fn_mobile_app_update_settings($setting_id, array $settings, $storefront_id = 0)
    // Стало:
    function fn_mobile_app_update_settings($setting_id, array $settings, $storefront_id = 0, $color_preset = ColorPresets::CUSTOM)
    

Новые функции

  1. Получает содержимое HTTP-заголовка Content-disposition для указанного имени файла:

    fn_get_content_disposition_header(string $filename)
    
  2. Проверяет, включен ли модуль “Тарифные планы для продавцов”, и обновляет статус группы пользователей:

    fn_vendor_privileges_check_and_update_usergroup_status(array $user_data)
    
  3. Нормализует названия объектов для SEO:

    fn_seo_normalize_object_name($_object_name)
    
  4. Получает цели характеристик по идентификаторам характеристик:

    fn_get_product_feature_purposes_by_feature_ids($feature_ids)
    

Изменения в шаблонах

Новые хуки

  1. index:searchanise_init
  2. addons:tabs_content

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

Изменённые хуки

  1. // Было:
    fn_set_hook('create_seo_name_pre', $object_id, $object_type, $object_name, $index, $dispatch, $company_id, $lang_code, $params);
    // Стало:
    fn_set_hook('create_seo_name_pre', $object_id, $object_type, $object_name, $index, $dispatch, $company_id, $lang_code, $params, $create_redirect, $area, $changed, $input_object_name);
    
  2. // Было:
    fn_set_hook('create_seo_name_post', $_object_name, $object_id, $object_type, $object_name, $index, $dispatch, $company_id, $lang_code, $params);
    // Стало:
    fn_set_hook('create_seo_name_post', $_object_name, $object_id, $object_type, $object_name, $index, $dispatch, $company_id, $lang_code, $params, $create_redirect, $area, $changed, $input_object_name);
    
  3. // Было:
    fn_set_hook('get_destinations', $lang_code, $fields, $joins, $condition, $group, $sorting, $limit);
    // Стало:
    fn_set_hook('get_destinations', $lang_code, $fields, $joins, $condition, $group, $sorting, $limit, $params);
    
  4. // Было:
    fn_set_hook('change_company_status_before_mail', $company_id, $status_to, $reason, $status_from, $skip_query, $notify, $company_data, $user_data, $result);
    // Стало:
    fn_set_hook('change_company_status_before_mail', $company_id, $status_to, $reason, $status_from, $skip_query, $notify, $company_data, $user_data, $result, $account);
    
  5. // Было:
    fn_set_hook('vendor_plans_calculate_commission_for_payout_before', $order_info, $company_data, $payout_data, $total, $shipping_cost, $surcharge_from_total, $surcharge_to_commission, $commission);
    // Стало:
    fn_set_hook('vendor_plans_calculate_commission_for_payout_before', $order_info, $company_data, $payout_data, $total, $shipping_cost, $surcharge_from_total, $surcharge_to_commission, $commission, $taxes);
    

Новые хуки

  1. Выполняется перед удалением модуля:

    fn_set_hook('uninstall_addon_pre', $addon_name, $show_message, $allow_unmanaged, $execute_schema_queries);
    
  2. Выполняется после удаления модуля:

    fn_set_hook('uninstall_addon_post', $addon_name, $allow_unmanaged);
    
  3. Позволяет изменить набор идентификаторов продавцов до получения ссылок на их магазины:

    fn_set_hook('google_sitemap_write_companies_to_sitemap_before_vendor_stores', $storefront, $last_modified_time, $change_frequency, $priority, $file, $link_counter, $file_counter, $sitemap_header, $sitemap_footer, $languages, $vendor_stores);
    
  4. Преобразует информацию на странице для её индексации:

    fn_set_hook('se_get_pages_data_post', $pages, $data, $pages_ids, $company_id, $lang_code);
    
  5. Расширяет отображение типов характеристик:

    fn_set_hook('se_get_feature_type_mapping', $types_map);
    
  6. Выполняется до размещения заказа и присвоения статуса заказу. Позволяет обработать информацию о размещённом заказе:

    fn_set_hook('place_order_post', $cart, $auth, $action, $issuer_id, $parent_order_id, $order_id, $order_status, $short_order_data, $notification_rules);