added featured products

This commit is contained in:
franknstayn
2021-07-23 20:42:59 +08:00
parent 13509568eb
commit a6ea024725
6 changed files with 178 additions and 134 deletions

View File

@@ -161,10 +161,13 @@ class TeamStoreController extends Controller
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
}
$featured_products = $m->selectFeaturedProducts();
return view('merchbay.index')
->with('stores_array', $stores_array)
->with('keyword', $q)
->with('filter', $sort);
->with('filter', $sort)
->with('featured_products', $featured_products);
}
public function checkTeamStorePassword(Request $request)
@@ -233,6 +236,8 @@ class TeamStoreController extends Controller
$availableQty = null;
}
// $product_array[0]->ProductAvailableQty
// var_dump($store_array[0]->Id);
$store_products = $m->selectFeaturedProducts($store_array[0]->Id);
return view('teamstore-sublayouts.product-details')
->with('store_array', $store_array)
@@ -240,7 +245,8 @@ class TeamStoreController extends Controller
->with('thumbnails_array', $thumbnails_array)
->with('teams_array', $teams_array)
->with('sizes_array', $sizes_array)
->with('available_qty', $availableQty);
->with('available_qty', $availableQty)
->with('store_products', $store_products);
}
public function login(Request $request)

View File

@@ -1,7 +1,7 @@
<?php namespace App\Models\designer;
use Illuminate\Database\Eloquent\Model;
use DB;
use Illuminate\Support\Facades\DB;
class DesignerModel extends Model {

View File

@@ -1,9 +1,12 @@
<?php namespace App\Models\teamstore;
<?php
namespace App\Models\teamstore;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class TeamStoreModel extends Model {
class TeamStoreModel extends Model
{
function selectAllTeamStore() // display all data from database
{
@@ -57,7 +60,8 @@ class TeamStoreModel extends Model {
return $i;
}
function getProductThumbnails($productId){
function getProductThumbnails($productId)
{
$i = DB::table('teamstore_product_thumbnails')
->where('ProductId', $productId)
@@ -66,7 +70,8 @@ class TeamStoreModel extends Model {
return $i;
}
function insertTeamStoreProduct($item_details){
function insertTeamStoreProduct($item_details)
{
$i = DB::table('teamstore_products')->insert($item_details);
$id = DB::getPdo()->lastInsertId();
@@ -77,13 +82,15 @@ class TeamStoreModel extends Model {
);
}
function insertTeamStoreProductThumbnails($item_details){
function insertTeamStoreProductThumbnails($item_details)
{
$i = DB::table('teamstore_product_thumbnails')->insert($item_details);
return $i;
}
function getThumbnails($productId){
function getThumbnails($productId)
{
$i = DB::table('teamstore_product_thumbnails')
->where('ProductId', $productId)
@@ -92,13 +99,15 @@ class TeamStoreModel extends Model {
return $i;
}
function getTeams($productId){
function getTeams($productId)
{
$i = DB::table('teams')->where('ProductId', $productId)->get();
return $i;
}
function getSizes(){
function getSizes()
{
$i = DB::table('sizes')
->where('IsActive', 'TRUE')
@@ -107,7 +116,8 @@ class TeamStoreModel extends Model {
return $i;
}
function getSizesByBracket($bracket){
function getSizesByBracket($bracket)
{
$i = DB::table('sizes')->select('Size', 'SizeDisplay')
->where('Bracket', $bracket)
@@ -118,7 +128,8 @@ class TeamStoreModel extends Model {
}
function insertToCart($data){
function insertToCart($data)
{
$i = DB::table('cart_tmp')->insert($data);
$id = DB::getPdo()->lastInsertId();
@@ -130,7 +141,8 @@ class TeamStoreModel extends Model {
// return $i;
}
function selectDisplayCartThumb(){
function selectDisplayCartThumb()
{
$i = DB::table('teamstore_product_thumbnails')
->where('ImageClass', 'active')
@@ -140,7 +152,8 @@ class TeamStoreModel extends Model {
function myCart($cartKey){
function myCart($cartKey)
{
// echo $cartKey;
if ($cartKey != "") {
$i = DB::table('cart_tmp')
@@ -154,7 +167,8 @@ class TeamStoreModel extends Model {
}
}
function myCartGroup($cartKey){
function myCartGroup($cartKey)
{
if ($cartKey != "") {
$pdo = DB::connection()->getPdo();
$query = $pdo->prepare("SELECT *, COUNT(Id) AS qty, Price * SUM(Quantity) AS total_price FROM cart_tmp WHERE CartKey = :ck GROUP BY ProductId");
@@ -165,29 +179,32 @@ class TeamStoreModel extends Model {
}
function getSubtotal($cartKey){
function getSubtotal($cartKey)
{
$i = DB::table('cart_tmp')->select(DB::raw('SUM(Quantity * Price) AS Subtotal'))
->where('CartKey', '=', $cartKey)
->get();
return $i;
}
function updateStoreItem($data, $url){
function updateStoreItem($data, $url)
{
$i = DB::table('teamstore_products')->where('ProductURL', $url)
->update($data);
return $i;
}
function getSoldQty($productId){
function getSoldQty($productId)
{
$i = DB::table('orders')->select(DB::raw('SUM(Quantity) AS SoldQty'))
->where('ProductId', $productId)
->get();
return $i;
}
function selectVoucher($data){
function selectVoucher($data)
{
$i = DB::table('teamstore_voucher')
->where(DB::raw('BINARY `VoucherCode`'), $data['voucher'])
->where('TeamStoreId', $data['store_id'])
@@ -195,21 +212,24 @@ class TeamStoreModel extends Model {
return $i;
}
function selectVoucherWhereIn($data){
function selectVoucherWhereIn($data)
{
$i = DB::table('teamstore_voucher')
->whereIn('Id', $data)
->get();
return $i;
}
function updateVoucherValueInCart($data, $id){
function updateVoucherValueInCart($data, $id)
{
$i = DB::table('cart_tmp')
->where('Id', $id)
->update($data);
return $i;
}
function selectTeamstoreSearch($field, $value, $keyword){
function selectTeamstoreSearch($field, $value, $keyword)
{
$i = DB::table('teamstores')
->where("StoreName", "LIKE", "%$keyword%")
@@ -219,7 +239,8 @@ class TeamStoreModel extends Model {
return $i;
}
function selectTeamstoreFilter($field, $value){
function selectTeamstoreFilter($field, $value)
{
$i = DB::table('teamstores')
->where("IsActive", "true")
@@ -229,13 +250,24 @@ class TeamStoreModel extends Model {
}
function selectFeaturedProduct(){
function selectFeaturedProducts($store_id = 0)
{
if($store_id == 0){
$i = DB::select("SELECT t.StoreUrl, tp.ProductName, tp.ProductPrice, tp.ProductURL, tpt.Image FROM teamstores AS t
INNER JOIN teamstore_products AS tp ON tp.TeamStoreId = t.Id
INNER JOIN teamstore_product_thumbnails as tpt ON tp.Id = tpt.ProductId
WHERE t.Password IS NULL AND t.IsHibernated IS NULL AND tpt.ImageClass = 'active' AND tp.PrivacyStatus = 'public'
ORDER BY RAND()
LIMIT 6");
} else{
$i = DB::select("SELECT t.StoreUrl, tp.ProductName, tp.ProductPrice, tp.ProductURL, tpt.Image FROM teamstores AS t
INNER JOIN teamstore_products AS tp ON tp.TeamStoreId = t.Id
INNER JOIN teamstore_product_thumbnails as tpt ON tp.Id = tpt.ProductId
WHERE t.Password IS NULL AND t.IsHibernated IS NULL AND tpt.ImageClass = 'active' AND tp.PrivacyStatus = 'public' AND t.Id = $store_id
ORDER BY RAND()
LIMIT 6");
}
$i = DB::table('teamstore_products')
->where("IsActive", "true")
// ->orderby($field, $value)
->paginate(12);
return $i;
}
}

View File

@@ -7,6 +7,10 @@ body {
font-size: 0.9rem;
}
a {
text-decoration: none;
}
.bg-black {
background-color: #000;
}
@@ -196,6 +200,7 @@ li.footer-menu-item a:hover {
font-size: 0.8rem;
font-weight: 600;
padding: 5px;
color: #000000;
}
.product-name-display h3 {

View File

@@ -109,22 +109,23 @@
<h3>Featured Products</h3>
</div>
</div>
@foreach ($featured_products as $product)
<div
class="col-lg-2 col-md-3 col-6"
v-for="index in 6"
:key="index"
>
<div class="text-center p-3">
<a href="{{ url('store') . '/' . $product->StoreUrl . '/product/' . $product->ProductURL }}">
<div class="store-logo">
<v-lazy-image
src="https://crewsportswear.com/uploads/images/teamstore/all-in-athletics/logo.jpg"
class="d-block border shadow-sm"
alt="..."
/>
<img src="{{ config('site_config.images_url') . '/' . $product->Image }}" alt="{{ $product->ProductName }}" class="d-block border shadow-sm">
</div>
<div class="store-name text-truncate">22PLE</div>
<div class="store-name text-truncate">{{ $product->ProductName }}</div>
</a>
</div>
</div>
@endforeach
</div>
</div>
</div>

View File

@@ -365,27 +365,27 @@
<div class="row py-5">
<div class="col-lg-12">
<h4>Other similar products</h4>
<h4>From the same Store</h4>
</div>
<div class="col-md-12">
{{-- <div class="col-md-12">
<p>...</p>
</div>
{{-- <div
</div> --}}
@foreach ($store_products as $product)
<div
class="col-lg-2 col-md-3 col-6"
v-for="index in 6"
:key="index"
>
<div class="text-center p-3">
<a href="{{ url('store') . '/' . $product->StoreUrl . '/product/' . $product->ProductURL }}">
<div class="store-logo">
<v-lazy-image
src="https://crewsportswear.com/uploads/images/teamstore/all-in-athletics/logo.jpg"
class="d-block border shadow-sm"
alt="..."
/>
<img src="{{ config('site_config.images_url') . '/' . $product->Image }}" alt="{{ $product->ProductName }}" class="d-block border shadow-sm">
</div>
<div class="store-name text-truncate">22PLE</div>
<div class="store-name text-truncate">{{ $product->ProductName }}</div>
</a>
</div>
</div> --}}
</div>
@endforeach
</div>
</div>
</div>