Các hàm helper của S-Cart
Danh sách các hàm S-Cart hỗ trợ:
Vị trí: https://github.com/s-cart/core/tree/master/src/Library/Helpers(Hướng dẫn tùy chỉnh các hàm helper TẠI ĐÂY)
#Validation
sc_check_view | sc_clean |
#System
#Currency
sc_send_mail | sc_process_send_mail |
#Event
sc_event_order_success | sc_event_order_created | sc_event_customer_created |
sc_event_order_update_status |
#File #Langauge
sc_language_all | sc_languages | sc_language_replace |
sc_language_render | sc_language_quickly | sc_get_locale |
sc_lang_switch |
#Plugin
sc_get_all_plugin | sc_get_plugin_installed | sc_get_all_plugin_actived |
sc_get_class_plugin_controller | sc_get_class_plugin_config | sc_get_plugin_namespace |
#Store
#Captcha
sc_captcha_method | sc_captcha_page | sc_get_plugin_captcha_installed |
#Cache
sc_clear_cache | sc_set_cache |
#Order
sc_order_process_after_success (>7.1) | sc_order_mapping_validate (>7.1) |
#Product
sc_product_admin_select_list (>7.1) |
#Customer
sc_customer_sendmail_reset_notification (>7.1) | sc_customer_sendmail_verify (> 7.1) | sc_customer_sendmail_welcome (> 7.1) |
sc_customer_address_mapping (>7.1) | sc_customer_data_insert_mapping (> 7.1) | sc_customer_data_edit_mapping (> 7.1) |
sc_customer_created_by_client (>7.1) | sc_customer_created_by_admin (> 7.1) |
#Other
#Validation
#sc_check_view
Hàm này kiểm tra file view tồn tại không. Nếu không có, sẽ xuất thông báo ra màn hình và dừng xử lý hiển thị website. Đồng thời sẽ gọi tới hàm sc_report để cảnh báo tới người quản trị.
Cú pháp:
#sc_cleansc_check_view('path-to-view')
Hàm này để làm sạch dữ liệu từ một chuỗi hoặc mảng giá trị. Kết quả trả về là chuỗi hoặc mãng đã được làm sạch.
Cú pháp:
Trong đó:sc_clean($data = null, $exclude = [], $level_hight = null)
$data là chuỗi hoặc mảng dữ liệu
$exclude là mảng sẽ bỏ qua
$level_hight là mức độ xử lý
#System
#sc_admin_can_config
Kiểm tra user có quyền thay đổi giá trị trong bảng admin_config không
Cú pháp:
#sc_configsc_admin_can_config()
Trả về giá trị của cột "value" trong bảng admin_config tương ứng với cột "key".
Cú pháp:
Trong đó:sc_config($key = null, $storeId = null, $default = null)
$key là tên của key (chuỗi), hoặc một mảng đơn
$storeId là ID của store
$default là giá trị mặc định trả về nếu không tìm thấy key trong bảng admin_config
Logic xử lý:
- Nếu $key null, kết quả trả về là mảng tất cả giá trị config tương ứng với store
- Nếu $storeId null, giá trị config('app.storeId') được sử dụng
- Nếu $key không được tìm thấy với store_id = $storeId, kết quả sẽ được trả về với store_id = 0
(*) Bạn có thể sử dụng sc_config([$key => $value], $storeId) để cập nhật giá trị key
#sc_config_admin
Là hàm sc_config, với storeId = session('adminStoreId')
Cú pháp:
#sc_config_globalsc_config_admin($key = null, $default = null)
Là hàm sc_config, với storeId = 0
Cú pháp:
#sc_config_groupsc_config_global($key = null, $default = null)
Trả về mảng giá giá trị config dựa theo group
Cú pháp:
#sc_storesc_config_group($group = null, $suffix = null)
Trả về thông tin cửa hàng
Cú pháp:
Trong đó:sc_store($key = null, $store_id = null, $default = null)
$key là tên của key (chuỗi), hoặc một mảng đơn
$storeId là ID của store
$default là giá trị mặc định trả về nếu không tìm thấy key trong bảng admin_store
Logic xử lý:
- Nếu $key null, kết quả trả về là mảng tất cả thông tin của cửa hàng trọng bảng admin_store
- Nếu $storeId null, giá trị config('app.storeId') được sử dụng
- Nếu $key không tìm thấy, giá trị $default được trả về
(*) Bạn có thể sử dụng sc_store([$key => $value], $storeId) để cập nhật giá trị key
#sc_store_active
Trả về thông tin của cửa hàng đang hoạt động
Cú pháp:
Logic xử lý:sc_store_active($field = null)
- Nếu $field = 'code', kết quả trả về là mảng giá trị "code" của các cửa hàng
- Nếu $field = 'domain', kết quả trả về là mảng giá trị "domain" của các cửa hàng
- Nếu $field không phải là "code", "domain", giá trị trả về sẽ là thông tin đầy đủ của các cửa hàng đang hoạt động
#sc_store_block
Trả về collection các block trong bảng shop_store_block.
Cú pháp:
(*) Kết quả trả về phụ thuộc vào template mà cửa hàng đang sử dụngsc_store_block()
#sc_store_css
Trả về thông tin css của template đang sử dụng
Cú pháp:
sc_store_css()
#sc_link
Trả về các liên kết được nhóm theo "group" của các cửa hàng.
Cú pháp:
#sc_link_collection (>=7.2)sc_link()
Trả về các liên kết và các collection được nhóm theo "group" của các cửa hàng.
Cho phép các các liên kết theo dạng cây.
Cú pháp:
sc_link_collection()
#sc_get_all_template
Trả về mảng thông tin các template trong thư mục "views/templates"
Cú pháp:
#sc_routesc_get_all_template()
Hàm xử lý route
Cú pháp:
#sc_route_adminsc_route($name, $param = [])
Hàm xử lý route trong admin
Cú pháp:
#Currencysc_route_admin($name, $param = [])
#sc_tax_price
Hàm trả về giá bán của sản phẩm đã bao gồm tiến thuế
Cú pháp:
Trong đó:sc_tax_price($price, $tax)
$price là giá sản phẩm
$tax là phần trăm tiền thuế
#sc_render_option_price
Hàm render html các thuộc tính sản phẩm
Cú pháp:
#sc_currency_rendersc_render_option_price($arrtribute, $currency = null, $rate = null)
Trả về giá trị đã được quy đổi tiền tệ, bao gồm các định dạng liên quan.
Cú pháp:
#sc_currency_render_symbolsc_currency_render(float $money, $currency = null, $rate = null, $space_between_symbol = false, $useSymbol = true)
Chỉ thêm symbol vào định dạng tiền tề
Cú pháp:
#sc_currency_valuesc_currency_render_symbol(float $money, $currency = null, $space_between_symbol = false, $include_symbol = true)
Trả về giá trị sau khi quy đổi tiền tệ
Cú pháp:
#sc_currency_codesc_currency_value(float $money, float $rate = null)
Trả về code của loại tiền tệ đang sử dụng
Cú pháp:
#sc_currency_ratesc_currency_code()
Trả về tỉ giá của tiền tệ đan sử dụng so với đơn vị Bit của S-Cart
Cú pháp:
#sc_currency_formatsc_currency_rate()
Trả về định dạng theo đơ vị tiền tệ, không bao gồm symbol
Cú pháp:
#sc_currency_infosc_currency_format(float $money)
Trả về mảng thông tin của tiền tệ đang sử dụng.
Cú pháp:
#sc_currency_allsc_currency_info()
Trả về collection tất cả các đơn vị tiền tệ đang hoạt động.
Cú pháp:
#sc_currency_all_activesc_currency_all()
Trả về mạng giá trị code và tên của các đơn vị tiền tệ đang hoạt động.
Cú pháp:
sc_currency_all_active()
#sc_send_mail
Hàm gửi xử lý gửi mail. Tùy thuộc vào cấu hình, sẽ gửi mail trực tiếp hoặc thông qua hàng đợi.
Cú pháp:
Trong đó:sc_send_mail($view, array $dataView = [], array $emailConfig = [], array $attach = [])
$view là đường dẫn tới file view
$dataView là mảng giá trị gửi tới email, được render trong view
$emailConfig là mảng các thông tin cấu hình khi gửi email: to, cc, bcc, replyTo, subject
$attach là mảng thông tin về các file đính kèm
#sc_process_send_mail
Xử lý gửi email trực tiếp mà không thông qua hàng đợi.
#Event
#sc_event_order_success
Gọi sự kiện khi đơn hàng thành công
Cú pháp:
sc_event_order_success(ShopOrder $order)
#sc_event_order_created
Gọi sự kiện khi đơn hàng được tạo
Cú pháp:
#sc_event_customer_createdsc_event_order_created(ShopOrder $order)
Gọi sự kiện khi tài khoản khách hàng được tạo
Cú pháp:
#sc_event_order_update_statussc_event_order_update_status(ShopOrder $order)
Gọi sự kiện khi trạng thái đơn hàng thay đổi
Cú pháp:
#Filesc_event_customer_created(ShopCustomer $customer)
#sc_image_upload
Hàm upload hình ảnh, trả về mảng thông tin hình ảnh sau khi upload thành công.
Cú pháp:
#sc_file_uploadsc_image_upload($fileContent, $disk = 'public', $path = null, $name = null, $options = ['unique_name' => true, 'thumb' => false, 'watermark' => false])
Hàm upload file, trả về mảng thông tin của file sau khi upload thành công.
Cú pháp:
#sc_remove_filesc_file_upload($fileContent, $disk = 'public', $path = null, $name = null)
Hàm xóa file
Cú pháp:
#sc_image_insert_watermarksc_remove_file($pathFile, $disk = null)
Hàm thêm watermark cho hình ảnh
Cú pháp:
#sc_image_generate_thumbsc_image_insert_watermark($pathFile, $pathWatermark = null)
Hàm tạo thumb
Cú pháp:
#sc_image_rendersc_image_generate_thumb($pathFile, $widthThumb = null, $heightThumb = null, $disk = 'public')
Hàm render hình ảnh
Cú pháp:
#sc_image_get_pathsc_image_render($path, $width = null, $height = null, $alt = null, $title = null, $urlDefault= null, $options = '')
Hàm trả về chuỗi là đường dẫn hình ảnh
Cú pháp:
#sc_image_get_path_thumbsc_image_get_path($path, $urlDefault = null)
Hàm trả về chuỗi là đường dẫn thumb của hình ảnh
Cú pháp:
sc_image_get_path_thumb($pathFile)#sc_zip
Hàm nén file
Cú pháp:
#sc_unzipsc_zip(string $pathToSource, string $pathSaveTo)
Hàm giải nén file zip
Cú pháp:
#sc_filesc_unzip(string $pathToSource, string $pathSaveTo)
Trả về đường dẫn asset của file
Cú pháp:
#sc_path_download_renderfunction sc_file(string $pathFile = null, bool $security = null)
Trả về đường dẫn của file download.
Cú pháp:
sc_path_download_render(string $string)
#Language
#sc_language_all
Trả về collection thông tin tất cả các ngôn ngữ đang hoạt động
Cú pháp:
#sc_languagessc_language_all()
Trả về mảng tất cả "code" và "text" của ngôn ngữ
Cú pháp:
(*)Chú ý:sc_languages($locale)
Không được sử dụng hàm này (bao gồm tất cả các hàm gọi tới nó) trong _construct, mildware vì ngôn ngữ có thể hoạt động không chính xác.
#sc_language_replace
Hàm thay thế các chuỗi quy ước trong ngôn ngữ thành một chuỗi hoàn chỉnh.
Cú pháp:
#sc_language_rendersc_language_replace(string $line, array $replace)
Trả về giá trị ngôn ngữ đã được xử lý
Cú pháp:
(*)Chú ý:sc_language_render($string, array $replace = [], $locale = null)
Không được sử dụng hàm này (bao gồm tất cả các hàm gọi tới nó) trong _construct, mildware vì ngôn ngữ có thể hoạt động không chính xác.
Logic xử lý:
- S-Cart sẽ kiểm tra thông tin ngôn ngữ trong database đầu tiên (table sc_languages). Nếu không có sẽ tìm kiếm theo logic mặc định của Laravel.
#sc_language_quickly
Hàm trả nhanh giá trị của ngôn ngữ. Nếu không có, sẽ trả về giá trị mặc định.
Cú pháp:
#sc_get_localesc_language_quickly($string, $default = null)
Hàm trả về locale hiện tại
Cú pháp:
#sc_lang_switchsc_get_locale()
Hàm chuyển đổi ngôn ngữ hiện tại, thông qua việc thay đổi giá trị locale
Cú pháp:
#Pluginsc_lang_switch($lang = null)
#sc_get_all_plugin
Trả về thông tin tất cả plugin trong thư mục "app/Plugins"
Cú pháp:
#sc_get_plugin_installedsc_get_all_plugin(string $code)
Trả về thông tin các Plugin đã được cài đặt
Cú pháp:
#sc_get_all_plugin_activedsc_get_plugin_installed($code = null, $onlyActive = true)
Trả về thông tin các plugin đang hoạt động.
Cú pháp:
Ví du: sc_get_all_plugin_actived('Payment'), sc_get_all_plugin_actived('Shipping')sc_get_all_plugin_actived($code)
#sc_get_class_plugin_controller
Trả về namespace của controller
Cú pháp:
#sc_get_class_plugin_configsc_get_class_plugin_controller(string $code, string $key = null)
Trả về namespace của class config
Cú pháp:
#sc_get_plugin_namespacesc_get_class_plugin_config(string $code, string $key)
Trả về namespace chính của plugin
Cú pháp:
#Storesc_get_plugin_namespace(string $code, string $key)
#sc_get_list_code_store
Trả về mảng code của các cửa hàng
Cú pháp:
#sc_get_domain_from_codesc_get_list_code_store()
Trả về domain của cửa hàng thông qua code
Cú pháp:
#sc_get_domain_rootsc_get_domain_from_code(string $code)
Trả về domain root
Cú pháp:
#sc_store_is_partnersc_get_domain_root()
Kiểm tra cửa hàng có phải là partner hay không thông qua id.
Cú pháp:
#sc_store_is_rootsc_store_is_partner(int $storeId)
Kiểm tra cửa hàng có phải là root hay không, thông qua id
Cú pháp:
#sc_get_list_store_of_product_detailsc_store_is_root(int $storeId)
Trả về mảng id của các cửa hàng đang bán sảng phẩm
Cú pháp:
#sc_get_list_store_of_discount_detailsc_get_list_store_of_product_detail($pId)
Trả về mảng id của các cửa hàng đang sử dụng mã discount
Cú pháp:
#sc_get_list_store_of_brandsc_get_list_store_of_discount_detail($dId)
Trả về mảng id của cửa hàng được nhóm theo brand_id
Cú pháp:
#sc_get_list_store_of_brand_detailsc_get_list_store_of_brand(array $arrBrandId)
Trả về mảng id của các cửa hàng chứa brand_id
Cú pháp:
#sc_get_list_store_of_bannersc_get_list_store_of_brand_detail($cId)
Trả về mảng id của cửa hàng được nhóm theo banner_id
Cú pháp:
#sc_get_list_store_of_banner_detailsc_get_list_store_of_banner(array $arrBannerId)
Trả về mảng id của các cửa hàng chứa banner_id
Cú pháp:
#sc_get_list_store_of_newssc_get_list_store_of_banner_detail($bId)
Trả về mảng id của cửa hàng được nhóm theo news_id
Cú pháp:
#sc_get_list_store_of_news_detailsc_get_list_store_of_news(array $arrNewsId)
Trả về mảng id của các cửa hàng chứa news_id
Cú pháp:
#sc_get_list_store_of_pagesc_get_list_store_of_news_detail($nId)
Trả về mảng id của cửa hàng được nhóm theo page_id
Cú pháp:
#sc_get_list_store_of_page_detailsc_get_list_store_of_page(array $arrPageId)
Trả về mảng id của các cửa hàng chứa page_id
Cú pháp:
#sc_get_list_store_of_ordersc_get_list_store_of_page_detail($pId)
Trả về mảng id của cửa hàng được nhóm theo order_id
Cú pháp:
#sc_get_list_store_of_categorysc_get_list_store_of_order(array $arrOrderId)
Trả về mảng id của cửa hàng được nhóm theo category_id
Cú pháp:
#sc_get_list_store_of_category_detailsc_get_list_store_of_category(array $arrCategoryId)
Trả về mảng id của các cửa hàng chứa category_id
Cú pháp:
#Captchasc_get_list_store_of_category_detail($cId)
#sc_captcha_method
Trả về method captcha đang sử dụng
Cú pháp:
#sc_captcha_pagesc_captcha_method()
Trả về mảng page đang sử dụng captcha
Cú pháp:
#sc_get_plugin_captcha_installedsc_captcha_page()
Trả về mảng plugin captcha đã cài đặt
Cú pháp:
#Cachesc_get_plugin_captcha_installed($onlyActive = true)
#sc_clear_cache
Hàm xóa cache
Cú pháp:
#sc_set_cachesc_clear_cache($typeCache = 'cache_all', $storeId = null)
Hàm set giá trị cho cache
Cú pháp:
sc_set_cache($cacheIndex, $value, $time = null)
#Order
#sc_order_process_after_success (hỗ trợ từ SC 7.1)
Xử lý sau khi đơn hàng hoàn thành và trả về các thông tin liên quan tới đơn hàng
Ví dụ: gửi mail, thông tin trả về ở màn hình hoàn thành đơn hàng.
Cú pháp:
#sc_order_mapping_validate (hỗ trợ từ SC 7.1)sc_order_process_after_success(string $orderID)
Thực hiện mapping các dữ liệu validate cho các thông tin liên quan tới đơn hàng. Kết quả trả về là mảng.
Cú pháp:
sc_order_mapping_validate()
#Customer
#sc_customer_sendmail_reset_notification (hỗ trợ từ SC 7.1)
Xử lý gửi mail reset password.
Cú pháp:
#sc_customer_sendmail_verify (hỗ trợ từ SC 7.1)sc_customer_sendmail_reset_notification(string $token, string $emailReset)
Xử lý gửi mail xác thực.
Cú pháp:
#sc_customer_sendmail_welcome (hỗ trợ từ SC 7.1)sc_customer_sendmail_verify()
Xử lý gửi mail chào mừng.
Cú pháp:
#sc_customer_address_mapping (hỗ trợ từ SC 7.1)sc_customer_sendmail_welcome(array $data)
Xử lý gửi mapping địa chỉ khách hàng.
Cú pháp:
#sc_customer_data_insert_mapping (hỗ trợ từ SC 7.1)sc_customer_address_mapping(array $dataRaw)
Xử lý gửi mapping dữ liệu khách hàng trước khi insert.
Cú pháp:
#sc_customer_data_edit_mapping (hỗ trợ tù SC 7.1)sc_customer_data_insert_mapping(array $dataRaw)
Xử lý gửi mapping dữ liệu khách hàng trước khi chỉnh sửa.
Cú pháp:
#sc_customer_created_by_client (hỗ trợ từ SC 7.1)sc_customer_data_edit_mapping(array $dataRaw)
Xử lý sau khi tài khoản khách hàng được tạo.
Cú pháp:
#sc_customer_created_by_adminsc_customer_created_by_client(ShopCustomer $user, array $dataMap)
Xử lý sau khi tài khoản khách hàng được tạo bởi admin.
Cú pháp:
sc_customer_created_by_admin (ShopCustomer $user, array $dataMap)
#Product
sc_product_admin_select_list (hỗ trợ từ SC 7.1)
Xử lý danh sách sản phẩm sử dụng trong select ở trang admin. Kết quả trả về là 1 mảng
Cú pháp:
sc_product_admin_select_list(array $dataFilter = [], $storeId = null)
#Other
#sc_word_format_url
Xử lý chuỗi thành định dạng url
Cú pháp:
#sc_url_rendersc_word_format_url(string $str)
Trả về url hoàn chỉnh
Cú pháp:
#sc_html_rendersc_url_render(string $string)
Hàm render HMTL
Cú pháp:
#sc_word_format_classsc_html_render(string $string)
Hàm định dạng từ theo tên class
Cú pháp:
#sc_word_limitsc_word_format_class(string $word)
Hàm cắt chuỗi
Cú pháp:
Trong đó:sc_word_limit(string $word, int $limit = 20, string $arg = '')
$arg là chuỗi sẽ thêm vào phía sau chuỗi đã cắt.
#sc_token
Hàm tạo đoạn mã ngẫu nhiên với chiều dài chỉ định
Cú pháp:
#sc_reportsc_token(int $length = 32)
Hàm xử lý thông báo lỗi, bao gồm ghi log và gửi thông báo tới Slack
Cú pháp:
Trong đó:sc_report(string $msg, array $ext = [])
- $ext là mảng hành động sẽ bỏ qua
Mặc định, hàng động ghi log vào file sẽ luôn được thực hiện.
#sc_process_domain_store
Hàm xử lý chuỗi, trả về tên miền
Cú pháp:
#sc_push_include_viewsc_process_domain_store(string $domain)
Thêm một view vào giá trị config, sẽ sử dụng để render vào các vị trí tương ứng
Cú pháp:
#sc_push_include_scriptsc_push_include_view(string $position, string $pathView)
Thêm một script vào giá trị config, sẽ sử dụng để render vào các vị trí tương ứng
Cú pháp:
#sc_datetime_to_datesc_push_include_script($position, $pathScript)
Chuyển đổi kiểu dữ liệu thời gian
Cú pháp:
#adminsc_datetime_to_date($datetime, $format = 'Y-m-d')
Trả về thông tin tài khoản admin đang đăng nhập
Cú pháp:
#sc_sync_cartadmin()
Hàm xử lý đồng bộ giở hàng của người dùng, được gọi sau sự kiện người dùng đăng nhập.
Cú pháp:
#sc_requestsc_sync_cart($userId)
Trả về giá trị là string hoặc array phụ thuộc vào $type là string hay array.
Cú pháp:
sc_request($key,$default,$type)
Bài viết liên quan
- Sao lưu & phục hồi
- Dòng lệnh trong S-Cart
- Tự tạo các hàm riêng
- Cấu hình validation
- Tùy chỉnh router
- Tùy chỉnh controller
- Hướng dẫn tùy chỉnh trang chủ
- Tùy chỉnh trang dashboard admin
- Tùy chỉnh các hàm helper
- Vô hiệu hóa các chức năng website bán hàng
- Chuyển đổi S-Cart thành một website tin tức
- Trường dữ liệu tùy chỉnh trong S-Cart
- Quan hệ dữ liệu trong S-Cart
- Tùy chỉnh trang tìm kiếm
Tài liệu mới nhất
- Hướng dẫn nâng cấp 2024-03-24
- Tùy chỉnh trang tìm kiếm 2023-08-02
- Chức năng tạo mã giảm giá (coupon) 2023-05-14
- Hướng dẫn nâng cấp 2023-11-23
- Quan hệ dữ liệu trong S-Cart 2023-02-05