Адаптация существующих модулей и тем под CS-Cart 4.11.5¶
Общие изменения¶
- На странице списка заказов и на странице списка покупателей добавлено контекстное меню. Все инструменты, подразумевающие выделение нескольких элементов и работу с ними, перенесены из GearButton в раздел Actions нового меню. В GearButton оставлены только общие инструменты, не привязанные к конкретным элементам (например, импорт заказов с eBay).
- Если ранее вы добавляли инструмент для работы с выбранными элементами, используя хук '[dir_name]:list_tools', то теперь для добавления элемента в меню Actions следует использовать:- '[dir_name]:list_tools_for_selected'— для добавления в конец меню;
- '[dir_name]:export_tools_list_for_selected'— для добавления в секцию экспорта;
- '[dir_name]:view_tools_list_for_selected'— для добавления в секцию, содержащую действия по просмотру. Если же вам нужен инструмент, не подразумевающий выбор конкретных элементов, то хук останется прежним:- '[dir_name]:list_tools'.
 
- SVG-файл иконки загрузки, использующийся, например, при подгрузке данных в фоне, был заменен средствами анимации CSS3. Если ранее вы использовали svg в своих модулях, следует заменить в файлах *.less внутри стилей класса свойство backgroud: url(...)на классы:- .ajax-loader— для добавления прелоадера;
- .ajax-loader--horizontal-center— для центрирования элемента по горизонтали;
- .ajax-loader--vertical-center— для центрирования элемента по вертикали;
- .ajax-loader--vertical-top— для отступа в половину высоты прелоадера от верхней границы.
 
- Либо эти же классы можно добавить блоку прелоадера.
Изменения в ядре¶
Новые классы¶
- Перечисляет возможные состояния доступности объекта: - \Tygh\Enum\Addons\Seo\ItemAvailability
Изменённые функции¶
- // Было: fn_check_amount_in_stock($product_id, $amount, $product_options, $cart_id, $is_edp, $original_amount, &$cart, $update_id = 0) // Стало: fn_check_amount_in_stock($product_id, $amount, $product_options, $cart_id, $is_edp, $original_amount, &$cart, $update_id = 0, $skip_error_notification = false) 
- // Было: fn_get_available_shippings($company_id = null, $get_service_params = false) // Стало: fn_get_available_shippings($company_id = null, $get_service_params = false, $storefront_id = null) 
- // Было: \Tygh\Addons\RusOnlineCashRegister\Service::getReceiptFromOrder(array $order, $type) // Стало: \Tygh\Addons\RusOnlineCashRegister\Service::getReceiptFromOrder(array $order, $type, $payment_method = Receipt::PAYMENT_METHOD_FULL_PAYMENT) 
Удалённые функции¶
- // Удаленная функция: \Tygh\Addons\StripeConnect\Payments\StripeConnect::chargeByToken // Что использовать вместо неё: \Tygh\Addons\StripeConnect\Payments\StripeConnect::chargeWithout3DSecure. 
- // Удаленная функция: \Tygh\Addons\StripeConnect\Payments\StripeConnect::charge // Что использовать вместо неё: \Tygh\Addons\StripeConnect\Payments\StripeConnect::chargeWith3DSecure 
Устаревшие функции¶
- // Устаревшая функция: fn_expand_weight($weight) // Что использовать вместо неё: fn_convert_weight_to_imperial_units. 
Новые функции¶
- Проверяет, закодирована ли строка в формате UTF-16BE: - fn_is_utf16be($str) 
- Проверяет, закодирована ли строка в формате UTF-16LE: - fn_is_utf16le($str) 
- Проверяет, должен ли покупатель соглашаться с “Условиями и положениями” во время оформления заказа: - fn_checkout_is_terms_and_conditions_agreement_required () 
- Проверяет, считается ли заказ предоплаченным: - \Tygh/Addons/RusOnlineCashRegister/OrderData::isStatusPrepaid() 
- Устанавливает признак способа расчета в кассовом чеке: - \Tygh/Addons/RusOnlineCashRegister/Receipt/Receipt::setPaymentMethod($payment_method) 
- Получает признак способа расчета в кассовом чеке: - \Tygh/Addons/RusOnlineCashRegister/Receipt/Receipt::getPaymentMethod() 
- Конвертирует вес в фунты/унции: - fn_convert_weight_to_imperial_units($weight) 
- Конвертирует вес в килограммы/граммы: - fn_convert_weight_to_metric_units($weight) 
- Удаляет конфигурационные данные и лишнюю информацию из корзины: - fn_storefront_rest_api_strip_service_data(array $cart) 
- Меняет статус указанного пользователя: - fn_change_user_status($user_id, $status_to, $is_notification_required = false) 
- Меняет статус указанной категории: - fn_change_category_status($category_id, $status_to) 
- Делает символы в строке заглавными: - fn_strtoupper($string, $charset = CHARSET) 
Хуки¶
Изменённые хуки¶
- // Было: fn_set_hook('check_amount_in_stock', $product_id, $amount, $product_options, $cart_id, $is_edp, $original_amount, $cart); // Стало: fn_set_hook('check_amount_in_stock', $product_id, $amount, $product_options, $cart_id, $is_edp, $original_amount, $cart, $skip_error_notification); 
- // Было: fn_set_hook('check_amount_in_stock_before_check', $product_id, $amount, $product_options, $cart_id, $is_edp, $original_amount, $cart, $update_id, $product, $current_amount); // Стало: fn_set_hook('check_amount_in_stock_before_check', $product_id, $amount, $product_options, $cart_id, $is_edp, $original_amount, $cart, $update_id, $product, $current_amount, $skip_error_notification); 
- // Было: fn_set_hook('update_user_pre', $user_id, $user_data, $auth, $ship_to_another, $notify_user); // Стало: fn_set_hook('update_user_pre', $user_id, $user_data, $auth, 
Новые хуки¶
- Выполняется перед отправкой сообщения по PHPMailer и позволяет выполнять низкоуровневые манипуляции с самим PHPMailer: - fn_set_hook('phpmailertransport_send_message_before_send', $this, $message); 
- Выполняется вместе с проверкой на то, должны ли быть “Условия и положения” приняты покупателем во время оформления заказа. Позволяет установить требования непосредственно вам: - fn_set_hook('checkout_is_terms_and_conditions_agreement_required_pre', $is_agreement_required); 
- Выполняется вместе с проверкой на необходимость принятия “Условий и положений” покупателем во время оформления заказа, после того, как определены требования. Позволяет менять результат проверки: - fn_set_hook('checkout_is_terms_and_conditions_agreement_required_post', $is_agreement_required); 
- Выполняется перед поиском способов оплаты в модуле Stripe. Позволяет менять параметры поиска: - fn_set_hook('stripe_data_loader_get_supported_payments_before', $params); 
- Выполняется при расчёте содержимого корзины после расчёта доставки. Позволяет менять содержимое корзины и список доставки: - fn_set_hook('calculate_cart_content_after_shipping_calculation', $cart, $auth, $calculate_shipping, $calculate_taxes, $options_style, $apply_cart_promotions, $lang_code, $area, $cart_products, $product_groups); 
- Выполняется после того, как заданы цены в заказе. Позволяет задавать дополнительные цены: - fn_set_hook('storefront_rest_api_format_order_prices_post', $order, $currency); 
- Выполняется после того, как из корзины удалены конфигурационные данные и лишняя информация. Позволяет удалять дополнительные данные: - fn_set_hook('storefront_rest_api_strip_service_data_post', $cart); 
- Выполняется перед сборкой содержимого дочерней корзины. Позволяет изменять содержимое дочерней корзины: - fn_set_hook('place_suborders_pre', $order_id, $cart, $auth, $action, $issuer_id, $suborder_cart, $key_group, $group) 
 
                         
        