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
sc_admin_can_config sc_config sc_config_admin
sc_config_global sc_config_group sc_store
sc_store_active sc_store_block sc_store_css
sc_link sc_get_all_template sc_route
sc_route_admin sc_store_block sc_store_css
sc_link_collection (>=7.2)
 
#Currency
sc_tax_price sc_render_option_price sc_currency_render
sc_currency_render_symbol sc_currency_value sc_currency_code
sc_currency_rate sc_currency_format sc_currency_info
sc_currency_all sc_currency_all_active
 
#Email
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
sc_image_upload sc_file_upload sc_remove_file
sc_image_insert_watermark sc_image_generate_thumb sc_image_render
sc_image_get_path sc_image_get_path_thumb sc_zip
sc_unzip sc_file  sc_path_download_render
#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
sc_get_list_code_store sc_get_domain_from_code sc_get_domain_root
sc_store_is_partner sc_store_is_root sc_get_list_store_of_product_detail
sc_get_list_store_of_discount_detail sc_get_list_store_of_brand sc_get_list_store_of_brand_detail
sc_get_list_store_of_banner sc_get_list_store_of_banner_detail sc_get_list_store_of_news
sc_get_list_store_of_news_detail sc_get_list_store_of_page sc_get_list_store_of_page_detail
sc_get_list_store_of_order sc_get_list_store_of_category sc_get_list_store_of_category_detail
sc_process_domain_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
sc_word_format_url sc_url_render sc_html_render
sc_word_format_class sc_word_limit sc_token
sc_report sc_sync_cart sc_datetime_to_date
admin sc_push_include_view sc_push_include_script
sc_request (>= 7.2)
 

#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_check_view('path-to-view')

#sc_clean
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:

sc_clean($data = null, $exclude = [], $level_hight = null)

Trong đó:
$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_admin_can_config()

#sc_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:

sc_config($key = null, $storeId = null, $default = null)

Trong đó:
$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_admin($key = null, $default = null)

#sc_config_global
Là hàm sc_config, với storeId = 0
Cú pháp:

sc_config_global($key = null, $default = null)

#sc_config_group
Trả về mảng giá giá trị config dựa theo group
Cú pháp:

sc_config_group($group = null, $suffix = null)

#sc_store
Trả về thông tin cửa hàng
Cú pháp:

sc_store($key = null, $store_id = null, $default = null)

Trong đó:
$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:

sc_store_active($field = null)

Logic xử lý:
- 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:

sc_store_block()

(*) Kết quả trả về phụ thuộc vào template mà cửa hàng đang sử dụng
#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()

#sc_link_collection (>=7.2)
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_get_all_template()

#sc_route
Hàm xử lý route
Cú pháp:

sc_route($name, $param = [])

#sc_route_admin
Hàm xử lý route trong admin
Cú pháp:

sc_route_admin($name, $param = [])

#Currency
#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:

sc_tax_price($price, $tax)

Trong đó:
$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_render_option_price($arrtribute, $currency = null, $rate = null)

#sc_currency_render
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(float $money, $currency = null, $rate = null, $space_between_symbol = false, $useSymbol = true)

#sc_currency_render_symbol
Chỉ thêm symbol vào định dạng tiền tề
Cú pháp:

sc_currency_render_symbol(float $money, $currency = null, $space_between_symbol = false, $include_symbol = true)

#sc_currency_value
Trả về giá trị sau khi quy đổi tiền tệ
Cú pháp:

sc_currency_value(float $money, float $rate = null)

#sc_currency_code
Trả về code của loại tiền tệ đang sử dụng
Cú pháp:

sc_currency_code()

#sc_currency_rate
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_rate()

#sc_currency_format
Trả về định dạng theo đơ vị tiền tệ, không bao gồm symbol
Cú pháp:

sc_currency_format(float $money)

#sc_currency_info
Trả về mảng thông tin của tiền tệ đang sử dụng.
Cú pháp:

sc_currency_info()

#sc_currency_all
Trả về collection tất cả các đơn vị tiền tệ đang hoạt động.
Cú pháp:

sc_currency_all()

#sc_currency_all_active
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()


#
Email

#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:

sc_send_mail($view, array $dataView = [], array $emailConfig = [], array $attach = [])

Trong đó:
$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_order_created(ShopOrder $order)

#sc_event_customer_created
Gọi sự kiện khi tài khoản khách hàng được tạo
Cú pháp:

sc_event_order_update_status(ShopOrder $order)

#sc_event_order_update_status
Gọi sự kiện khi trạng thái đơn hàng thay đổi
Cú pháp:

sc_event_customer_created(ShopCustomer $customer)

#File
#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_image_upload($fileContent, $disk = 'public', $path = null, $name = null, $options = ['unique_name' => true, 'thumb' => false, 'watermark' => false])

#sc_file_upload
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_file_upload($fileContent, $disk = 'public', $path = null, $name = null)

#sc_remove_file
Hàm xóa file
Cú pháp:

sc_remove_file($pathFile, $disk = null)

#sc_image_insert_watermark
Hàm thêm watermark cho hình ảnh
Cú pháp:

sc_image_insert_watermark($pathFile, $pathWatermark = null)

#sc_image_generate_thumb
Hàm tạo thumb
Cú pháp:

sc_image_generate_thumb($pathFile, $widthThumb = null, $heightThumb = null, $disk = 'public')

#sc_image_render
Hàm render hình ảnh
Cú pháp:

sc_image_render($path, $width = null, $height = null, $alt = null, $title = null, $urlDefault= null, $options = '')

#sc_image_get_path
Hàm trả về chuỗi là đường dẫn hình ảnh
Cú pháp:

sc_image_get_path($path, $urlDefault = null)

#sc_image_get_path_thumb
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_zip(string $pathToSource, string $pathSaveTo)

#sc_unzip
Hàm giải nén file zip
Cú pháp:

sc_unzip(string $pathToSource, string $pathSaveTo)

#sc_file
Trả về đường dẫn asset của file
Cú pháp:

function sc_file(string $pathFile = null, bool $security = null)

#sc_path_download_render
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_language_all()

#sc_languages
Trả về mảng tất cả "code" và "text" của ngôn ngữ
Cú pháp:

sc_languages($locale)

(*)Chú ý:
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_replace(string $line, array $replace)

#sc_language_render
Trả về giá trị ngôn ngữ đã được xử lý
Cú pháp:

sc_language_render($string, array $replace = [], $locale = null)

(*)Chú ý:
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_language_quickly($string, $default = null)

#sc_get_locale
Hàm trả về locale hiện tại
Cú pháp:

sc_get_locale()

#sc_lang_switch
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:

sc_lang_switch($lang = null)

#Plugin
#sc_get_all_plugin
Trả về thông tin tất cả plugin trong thư mục "app/Plugins"
Cú pháp:

sc_get_all_plugin(string $code)

#sc_get_plugin_installed
Trả về thông tin các Plugin đã được cài đặt
Cú pháp:

sc_get_plugin_installed($code = null, $onlyActive = true)

#sc_get_all_plugin_actived
Trả về thông tin các plugin đang hoạt động.
Cú pháp:

sc_get_all_plugin_actived($code)

Ví du: sc_get_all_plugin_actived('Payment'), sc_get_all_plugin_actived('Shipping')
#sc_get_class_plugin_controller
Trả về namespace của controller 
Cú pháp:

sc_get_class_plugin_controller(string $code, string $key = null)

#sc_get_class_plugin_config
Trả về namespace của class config
Cú pháp:

sc_get_class_plugin_config(string $code, string $key)

#sc_get_plugin_namespace
Trả về namespace chính của plugin
Cú pháp:

sc_get_plugin_namespace(string $code, string $key)

#Store
#sc_get_list_code_store
Trả về mảng code của các cửa hàng
Cú pháp:

sc_get_list_code_store()

#sc_get_domain_from_code
Trả về domain của cửa hàng thông qua code
Cú pháp:

sc_get_domain_from_code(string $code)

#sc_get_domain_root
Trả về domain root
Cú pháp: 

sc_get_domain_root()

#sc_store_is_partner
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_partner(int $storeId)

#sc_store_is_root
Kiểm tra cửa hàng có phải là root hay không, thông qua id
Cú pháp:

sc_store_is_root(int $storeId)

#sc_get_list_store_of_product_detail
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_product_detail($pId)

#sc_get_list_store_of_discount_detail
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_discount_detail($dId)

#sc_get_list_store_of_brand
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(array $arrBrandId)

#sc_get_list_store_of_brand_detail
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_brand_detail($cId)

#sc_get_list_store_of_banner
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(array $arrBannerId)

#sc_get_list_store_of_banner_detail
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_banner_detail($bId)

#sc_get_list_store_of_news
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(array $arrNewsId)

#sc_get_list_store_of_news_detail
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_news_detail($nId)

#sc_get_list_store_of_page
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(array $arrPageId)

#sc_get_list_store_of_page_detail
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_page_detail($pId)

#sc_get_list_store_of_order
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_order(array $arrOrderId)

#sc_get_list_store_of_category
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(array $arrCategoryId)

#sc_get_list_store_of_category_detail
Trả về mảng id của các cửa hàng chứa category_id
Cú pháp:

sc_get_list_store_of_category_detail($cId)

#Captcha
#sc_captcha_method
Trả về method captcha đang sử dụng
Cú pháp:

sc_captcha_method()

#sc_captcha_page
Trả về mảng page đang sử dụng captcha
Cú pháp:

sc_captcha_page()

#sc_get_plugin_captcha_installed
Trả về mảng plugin captcha đã cài đặt
Cú pháp:

sc_get_plugin_captcha_installed($onlyActive = true)

#Cache
#sc_clear_cache
Hàm xóa cache
Cú pháp:

sc_clear_cache($typeCache = 'cache_all', $storeId = null)

#sc_set_cache
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_process_after_success(string $orderID)

#sc_order_mapping_validate (hỗ trợ từ SC 7.1)
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_reset_notification(string $token, string $emailReset)

#sc_customer_sendmail_verify (hỗ trợ từ SC 7.1)
Xử lý gửi mail xác thực.
Cú pháp:

sc_customer_sendmail_verify()

#sc_customer_sendmail_welcome (hỗ trợ từ SC 7.1)
Xử lý gửi mail chào mừng.
Cú pháp:

sc_customer_sendmail_welcome(array $data)

#sc_customer_address_mapping (hỗ trợ từ SC 7.1)
Xử lý gửi mapping địa chỉ khách hàng.
Cú pháp:

sc_customer_address_mapping(array $dataRaw)

#sc_customer_data_insert_mapping (hỗ trợ từ SC 7.1)
Xử lý gửi mapping dữ liệu khách hàng trước khi insert.
Cú pháp:

sc_customer_data_insert_mapping(array $dataRaw)

#sc_customer_data_edit_mapping (hỗ trợ tù SC 7.1)
Xử lý gửi mapping dữ liệu khách hàng trước khi chỉnh sửa.
Cú pháp:

sc_customer_data_edit_mapping(array $dataRaw)

#sc_customer_created_by_client (hỗ trợ từ SC 7.1)
Xử lý sau khi tài khoản khách hàng được tạo.
Cú pháp:

sc_customer_created_by_client(ShopCustomer $user, array $dataMap)

#sc_customer_created_by_admin
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_word_format_url(string $str)

#sc_url_render
Trả về url hoàn chỉnh
Cú pháp:

sc_url_render(string $string)

#sc_html_render
Hàm render HMTL
Cú pháp:

sc_html_render(string $string)

#sc_word_format_class
Hàm định dạng từ theo tên class
Cú pháp:

sc_word_format_class(string $word)

#sc_word_limit
Hàm cắt chuỗi
Cú pháp:

sc_word_limit(string $word, int $limit = 20, string $arg = '')

Trong đó:
$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_token(int $length = 32)

#sc_report
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:

sc_report(string $msg, array $ext = [])

Trong đó:
- $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_process_domain_store(string $domain)

#sc_push_include_view
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_view(string $position, string $pathView)

#sc_push_include_script
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_push_include_script($position, $pathScript)

#sc_datetime_to_date
Chuyển đổi kiểu dữ liệu thời gian
Cú pháp:

sc_datetime_to_date($datetime, $format = 'Y-m-d')

#admin
Trả về thông tin tài khoản admin đang đăng nhập
Cú pháp:

admin()

#sc_sync_cart
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_sync_cart($userId)

#sc_request
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

Tài liệu mới nhất