Template query in S-Cart

I. List of model variables
II. Syntax used
III. List of shared functions
IV. Special functions

Each template file will have its own variables passed from the parent controller. Example(*)
In addition, S-Cart provides a list of global variables and global functions that can be called in any template file.
Purpose:

- Separate the template maker and the developer: No need to have much knowledge of code in models and controllers.
- The model variable and its functions are called in any view: No need to declare in each controller for each view
- Syntax uniformity


I. Model variables are initialized:
1. $modelProduct -> model Product
2. $modelCategory -> model Category
3. $modelBanner -> model Banner
4. $modelBrand -> model Brand
5. $modelNews -> model News
6. $modelPage -> model Page
7. $modelCmsCategory -> model CMS Category
8. $modelCmsContent -> model CMS Content

II. Syntax used:

$variable_model->start()->(get)group-query->(set)query->getData()|getSql();

Example:
$modelProduct->start()->getProductHot()->setLimit(20)->setPaginate()->setRandom()->getData();

Note:
- Group-query:
Essentially, many predefined queries
- Query:
Additional conditions. If it matches a query group-query, the following query will overwrite the previous query.
- getData | getSql
Equivalent to get () and toSql () functions in Laravel
- start()
To avoid returning unexpected results, you should use the start () function before you start processing data.

 III. Functions that support common to all model variables:
  • start(): Start using the model functions. Make sure to always use it first so you don't get the desired results.
  • setLimit(int) // The result limit is limited -> The following function replaces the previous one
  • setSort([$key, ‘asc|desc’]) //ort returned results -> Used many times
  • setRandom(0|1) // Activating random fetches results returns -> The following function replaces the previous function
  • setPaginate() // Activate pagination mode
  • setMoreWhere([$v1, '<|>|=|like|<=|>=|<>', $v2]) // Add where clause, can be called multiple times
  • setMoreQuery(array) // Add multiple queries, can call multiple times. For example: setMoreQuery(['where' => ['columnA', '2']])->setMoreQuery(['orderBy' => ['columnB', 'asc']])
  • getSql() // Returns the query -> End of query
  • getData() // Return data results -> End of query
  • getFull() // Return detailed results of a data model -> End of query

IV. Special functions:
1. $modelProduct
  • setKeyword($string) // Search for products with keywords: sku, name, description, keyword
  • getProductHot() // List of discounted products
  • getProductBuild() //List of products bundle
  • getProductGroup() // List of products group
  • getProductSingle() // List of products single
  • getProductToCategory($arrCategory | int) // List of products by category
  • getProductToBrand($arrBrand | int) // List of products by brand
  • getProductLatest() // Top latest products
  • getProductLastView() // List of recently viewed products
  • getProductBestSell() // List of best selling products
  • getFinalPrice() // Get the final selling price of the product (no tax)
  • getFinalPriceTax() // Get the final selling price of the product (tax included)
  • showPrice() //Displays product price details on product listing pages
  • showPriceDetail() // Show product price details on product detail pages
  • getDetail() // Get detailed information of a product through id, model, alias, ...
  • getThumb() // Get the link of the product's thumb image
  • getImage() // Get the main image link of the product
  • getUrl() // Get the product link
  • getPercentDiscount() // Discount rate
  • renderAttributeDetails() // Display properties
  • allowSale() // Check if the product has a discount
  • getProductFromListID($arrID) // Get product list through array ID
2. $modelCategory
  • setParent(int) // Retrieve the category through the parent category ID
  • getCategoryRoot() // Get original directory (with id = 0)
  • getCategoryTop() // Get the first display category outside the homepage (top = 1)
  • getDetail() // Get detailed information of the catalog
  • getThumb() //Get the thumb image link of the catalog
  • getImage() // Get the main image link of the catalog
  • getUrl() // Get the cataloglink
  • getParent() // Get parent catalog information
3. $modelBanner
  • getBanner() // Banner (type =banner)
  • getBackground() // Background (type = background)
  • getBreadcrumb() // Breadcrumb (type=breadcrumb)
  • getDetail() // Banner detail
  • getThumb() // Thumb của banner
  • getImage() // Image banner
4. $modelBrand
  • getDetail() // Get detailed information of a brand through id
  • getThumb() // Get the link of the brand 's thumb image
  • getImage() // Get the main image link of the brand
  • getUrl() // Get the brand link
5. $modelNews 
  • getDetail() // Get detailed information of a blog through id
  • getThumb() // Get the link of the blog's thumb image
  • getImage() // Get the main image link of the blog
  • getUrl() // Get the blog link
6. $modelPage
  • getDetail() // Get detailed information of a page through id
  • getThumb() // Get the link of the page's thumb image
  • getImage() // Get the main image link of the page
  • getUrl() // Get the page link
7. $modelCmsCategory
  • setParent(int) // Retrieve the category via the parent category ID
  • getCategoryRoot() // Get original directory (with id = 0)
  • getDetail() // Get detailed information of the catalog
  • getThumb() // Get the thumb image link of the catalog
  • getImage() // Get the main image link of the catalog
  • getUrl() // Get the catalog link
  • getParent() // Get parent catalog  information
8. $modelCmsContent
  • getContentToCategory(array id) // List of entry under the category
  • getDetail() // Entry detail
  • getThumb() // Entry thumb
  • getImage() // Entry image
  • getUrl() // Entry url
(*)Individual variables for each template file are used:
variable-template

Related topics

Latest Document