Confliction Resolved On Merging
This commit is contained in:
commit
9fec7ea89b
|
|
@ -341,5 +341,7 @@ return [
|
||||||
'Concord' => Konekt\Concord\Facades\Concord::class,
|
'Concord' => Konekt\Concord\Facades\Concord::class,
|
||||||
'Helper' => Konekt\Concord\Facades\Helper::class,
|
'Helper' => Konekt\Concord\Facades\Helper::class,
|
||||||
'Debugbar' => Barryvdh\Debugbar\Facade::class,
|
'Debugbar' => Barryvdh\Debugbar\Facade::class,
|
||||||
|
'ProductImage' => Webkul\Product\Facades\ProductImage::class,
|
||||||
|
'ProductVideo' => Webkul\Product\Facades\ProductVideo::class
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
@ -34,10 +34,12 @@ return [
|
||||||
*/
|
*/
|
||||||
'storage' => [
|
'storage' => [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'driver' => 'file', // redis, file, pdo, custom
|
'driver' => 'file', // redis, file, pdo, socket, custom
|
||||||
'path' => storage_path('debugbar'), // For file driver
|
'path' => storage_path('debugbar'), // For file driver
|
||||||
'connection' => null, // Leave null for default connection (Redis/PDO)
|
'connection' => null, // Leave null for default connection (Redis/PDO)
|
||||||
'provider' => '', // Instance of StorageInterface for custom driver
|
'provider' => '', // Instance of StorageInterface for custom driver
|
||||||
|
'hostname' => '127.0.0.1', // Hostname to use with the "socket" driver
|
||||||
|
'port' => 2304, // Port to use with the "socket" driver
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace Webkul\API\Http\Resources\Catalog;
|
namespace Webkul\API\Http\Resources\Catalog;
|
||||||
|
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
use Webkul\Product\Facades\ProductImage as ProductImageFacade;
|
||||||
|
|
||||||
class Product extends JsonResource
|
class Product extends JsonResource
|
||||||
{
|
{
|
||||||
|
|
@ -13,10 +14,6 @@ class Product extends JsonResource
|
||||||
*/
|
*/
|
||||||
public function __construct($resource)
|
public function __construct($resource)
|
||||||
{
|
{
|
||||||
parent::__construct($resource);
|
|
||||||
|
|
||||||
$this->productImageHelper = app('Webkul\Product\Helpers\ProductImage');
|
|
||||||
|
|
||||||
$this->productReviewHelper = app('Webkul\Product\Helpers\Review');
|
$this->productReviewHelper = app('Webkul\Product\Helpers\Review');
|
||||||
|
|
||||||
$this->wishlistHelper = app('Webkul\Customer\Helpers\Wishlist');
|
$this->wishlistHelper = app('Webkul\Customer\Helpers\Wishlist');
|
||||||
|
|
@ -48,8 +45,8 @@ class Product extends JsonResource
|
||||||
'formated_price' => core()->currency($productTypeInstance->getMinimalPrice()),
|
'formated_price' => core()->currency($productTypeInstance->getMinimalPrice()),
|
||||||
'short_description' => $product->short_description,
|
'short_description' => $product->short_description,
|
||||||
'description' => $product->description,
|
'description' => $product->description,
|
||||||
'images' => ProductImage::collection($product->images),
|
'images' => ProductImageFacade::collection($product->images),
|
||||||
'base_image' => $this->productImageHelper->getProductBaseImage($product),
|
'base_image' => ProductImageFacade::getProductBaseImage($product),
|
||||||
'created_at' => $product->created_at,
|
'created_at' => $product->created_at,
|
||||||
'updated_at' => $product->updated_at,
|
'updated_at' => $product->updated_at,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -192,8 +192,6 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
<div class="sale-stock">
|
<div class="sale-stock">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-title">
|
<div class="card-title">
|
||||||
|
|
@ -208,7 +206,7 @@
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ route('admin.catalog.products.edit', $item->product_id) }}">
|
<a href="{{ route('admin.catalog.products.edit', $item->product_id) }}">
|
||||||
<div class="product image">
|
<div class="product image">
|
||||||
<?php $productBaseImage = $productImageHelper->getProductBaseImage($item->product); ?>
|
<?php $productBaseImage = productimage()->getProductBaseImage($item->product); ?>
|
||||||
|
|
||||||
<img class="item-image" src="{{ $productBaseImage['small_image_url'] }}" />
|
<img class="item-image" src="{{ $productBaseImage['small_image_url'] }}" />
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -318,7 +316,7 @@
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ route('admin.catalog.products.edit', $item->product_id) }}">
|
<a href="{{ route('admin.catalog.products.edit', $item->product_id) }}">
|
||||||
<div class="image">
|
<div class="image">
|
||||||
<?php $productBaseImage = $productImageHelper->getProductBaseImage($item->product); ?>
|
<?php $productBaseImage = productimage()->getProductBaseImage($item->product); ?>
|
||||||
|
|
||||||
<img class="item-image" src="{{ $productBaseImage['small_image_url'] }}" />
|
<img class="item-image" src="{{ $productBaseImage['small_image_url'] }}" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ use Webkul\BookingProduct\Helpers\Booking as BookingHelper;
|
||||||
use Webkul\BookingProduct\Repositories\BookingProductRepository;
|
use Webkul\BookingProduct\Repositories\BookingProductRepository;
|
||||||
use Webkul\Checkout\Models\CartItem;
|
use Webkul\Checkout\Models\CartItem;
|
||||||
use Webkul\Product\Datatypes\CartItemValidationResult;
|
use Webkul\Product\Datatypes\CartItemValidationResult;
|
||||||
use Webkul\Product\Helpers\ProductImage;
|
|
||||||
use Webkul\Product\Repositories\ProductAttributeValueRepository;
|
use Webkul\Product\Repositories\ProductAttributeValueRepository;
|
||||||
use Webkul\Product\Repositories\ProductImageRepository;
|
use Webkul\Product\Repositories\ProductImageRepository;
|
||||||
use Webkul\Product\Repositories\ProductVideoRepository;
|
use Webkul\Product\Repositories\ProductVideoRepository;
|
||||||
|
|
@ -56,7 +55,6 @@ class Booking extends Virtual
|
||||||
* @param \Webkul\Product\Repositories\ProductAttributeValueRepository $attributeValueRepository
|
* @param \Webkul\Product\Repositories\ProductAttributeValueRepository $attributeValueRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository
|
* @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImageHelper
|
|
||||||
* @param \Webkul\BookingProduct\Repositories\BookingProductRepository $bookingProductRepository
|
* @param \Webkul\BookingProduct\Repositories\BookingProductRepository $bookingProductRepository
|
||||||
* @param \Webkul\BookingProduct\Helpers\BookingHelper $bookingHelper
|
* @param \Webkul\BookingProduct\Helpers\BookingHelper $bookingHelper
|
||||||
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
||||||
|
|
@ -68,7 +66,6 @@ class Booking extends Virtual
|
||||||
ProductAttributeValueRepository $attributeValueRepository,
|
ProductAttributeValueRepository $attributeValueRepository,
|
||||||
ProductInventoryRepository $productInventoryRepository,
|
ProductInventoryRepository $productInventoryRepository,
|
||||||
ProductImageRepository $productImageRepository,
|
ProductImageRepository $productImageRepository,
|
||||||
ProductImage $productImageHelper,
|
|
||||||
BookingProductRepository $bookingProductRepository,
|
BookingProductRepository $bookingProductRepository,
|
||||||
BookingHelper $bookingHelper,
|
BookingHelper $bookingHelper,
|
||||||
ProductVideoRepository $productVideoRepository
|
ProductVideoRepository $productVideoRepository
|
||||||
|
|
@ -80,7 +77,6 @@ class Booking extends Virtual
|
||||||
$attributeValueRepository,
|
$attributeValueRepository,
|
||||||
$productInventoryRepository,
|
$productInventoryRepository,
|
||||||
$productImageRepository,
|
$productImageRepository,
|
||||||
$productImageHelper,
|
|
||||||
$productVideoRepository
|
$productVideoRepository
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -583,12 +583,12 @@ class CartRule
|
||||||
->where('cart_rule_channels.channel_id', $channelId)
|
->where('cart_rule_channels.channel_id', $channelId)
|
||||||
->where(function ($query1) {
|
->where(function ($query1) {
|
||||||
/** @var Builder $query1 */
|
/** @var Builder $query1 */
|
||||||
$query1->where('cart_rules.starts_from', '<=', Carbon::now()->format('Y-m-d'))
|
$query1->where('cart_rules.starts_from', '<=', Carbon::now()->format('Y-m-d H:m:s'))
|
||||||
->orWhereNull('cart_rules.starts_from');
|
->orWhereNull('cart_rules.starts_from');
|
||||||
})
|
})
|
||||||
->where(function ($query2) {
|
->where(function ($query2) {
|
||||||
/** @var Builder $query2 */
|
/** @var Builder $query2 */
|
||||||
$query2->where('cart_rules.ends_till', '>=', Carbon::now()->format('Y-m-d'))
|
$query2->where('cart_rules.ends_till', '>=', Carbon::now()->format('Y-m-d H:m:s'))
|
||||||
->orWhereNull('cart_rules.ends_till');
|
->orWhereNull('cart_rules.ends_till');
|
||||||
})
|
})
|
||||||
->with([
|
->with([
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Webkul\Product\Facades;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Facade;
|
||||||
|
|
||||||
|
class ProductImage extends Facade
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the registered name of the component.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected static function getFacadeAccessor()
|
||||||
|
{
|
||||||
|
return 'productimage';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Webkul\Product\Facades;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Facade;
|
||||||
|
|
||||||
|
class ProductVideo extends Facade
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the registered name of the component.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected static function getFacadeAccessor()
|
||||||
|
{
|
||||||
|
return 'productvideo';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,27 +4,10 @@ namespace Webkul\Product\Helpers;
|
||||||
|
|
||||||
use Webkul\Product\Models\Product;
|
use Webkul\Product\Models\Product;
|
||||||
use Webkul\Product\Models\ProductAttributeValue;
|
use Webkul\Product\Models\ProductAttributeValue;
|
||||||
|
use Webkul\Product\Facades\ProductImage;
|
||||||
|
|
||||||
class ConfigurableOption extends AbstractProduct
|
class ConfigurableOption extends AbstractProduct
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* ProductImage object
|
|
||||||
*
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
protected $productImage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new controller instance.
|
|
||||||
*
|
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImage
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct(ProductImage $productImage)
|
|
||||||
{
|
|
||||||
$this->productImage = $productImage;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the allowed variants
|
* Returns the allowed variants
|
||||||
*
|
*
|
||||||
|
|
@ -223,7 +206,7 @@ class ConfigurableOption extends AbstractProduct
|
||||||
$variantId = $variant->id;
|
$variantId = $variant->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$images[$variantId] = $this->productImage->getGalleryImages($variant);
|
$images[$variantId] = ProductImage::getGalleryImages($variant);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $images;
|
return $images;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Webkul\Product\ProductImage;
|
||||||
|
use Webkul\Product\ProductVideo;
|
||||||
|
|
||||||
|
if (! function_exists('productimage')) {
|
||||||
|
function productimage() {
|
||||||
|
return app()->make(ProductImage::class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! function_exists('productvideo')) {
|
||||||
|
function productvideo() {
|
||||||
|
return app()->make(ProductVideo::class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
5
packages/Webkul/Product/src/Helpers/ProductImage.php → packages/Webkul/Product/src/ProductImage.php
Executable file → Normal file
5
packages/Webkul/Product/src/Helpers/ProductImage.php → packages/Webkul/Product/src/ProductImage.php
Executable file → Normal file
|
|
@ -1,13 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Webkul\Product\Helpers;
|
namespace Webkul\Product;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Webkul\Product\Repositories\ProductRepository;
|
use Webkul\Product\Repositories\ProductRepository;
|
||||||
|
use Webkul\Product\Helpers\AbstractProduct;
|
||||||
|
|
||||||
class ProductImage extends AbstractProduct
|
class ProductImage extends AbstractProduct
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* ProductRepository instance
|
* ProductRepository instance
|
||||||
*
|
*
|
||||||
* @var \Webkul\Product\Repositories\ProductRepository
|
* @var \Webkul\Product\Repositories\ProductRepository
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Webkul\Product\Helpers;
|
namespace Webkul\Product;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Webkul\Product\Helpers\AbstractProduct;
|
||||||
|
|
||||||
class ProductVideo extends AbstractProduct
|
class ProductVideo extends AbstractProduct
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +8,11 @@ use Webkul\Product\Models\ProductProxy;
|
||||||
use Webkul\Product\Observers\ProductObserver;
|
use Webkul\Product\Observers\ProductObserver;
|
||||||
use Webkul\Product\Console\Commands\PriceUpdate;
|
use Webkul\Product\Console\Commands\PriceUpdate;
|
||||||
use Webkul\Product\Console\Commands\GenerateProducts;
|
use Webkul\Product\Console\Commands\GenerateProducts;
|
||||||
|
use Illuminate\Foundation\AliasLoader;
|
||||||
|
use Webkul\Product\Facades\ProductImage as ProductImageFacade;
|
||||||
|
use Webkul\Product\Facades\ProductVideo as ProductVideoFacade;
|
||||||
|
use Webkul\Product\ProductImage;
|
||||||
|
use Webkul\Product\ProductVideo;
|
||||||
|
|
||||||
class ProductServiceProvider extends ServiceProvider
|
class ProductServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
|
|
@ -18,6 +23,8 @@ class ProductServiceProvider extends ServiceProvider
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
|
include __DIR__ . '/../Http/helpers.php';
|
||||||
|
|
||||||
$this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
|
$this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
|
||||||
|
|
||||||
$this->app->make(EloquentFactory::class)->load(__DIR__ . '/../Database/Factories');
|
$this->app->make(EloquentFactory::class)->load(__DIR__ . '/../Database/Factories');
|
||||||
|
|
@ -42,6 +49,8 @@ class ProductServiceProvider extends ServiceProvider
|
||||||
|
|
||||||
$this->registerCommands();
|
$this->registerCommands();
|
||||||
|
|
||||||
|
$this->registerFacades();
|
||||||
|
|
||||||
$this->registerEloquentFactoriesFrom(__DIR__ . '/../Database/Factories');
|
$this->registerEloquentFactoriesFrom(__DIR__ . '/../Database/Factories');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -79,4 +88,28 @@ class ProductServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
$this->app->make(EloquentFactory::class)->load($path);
|
$this->app->make(EloquentFactory::class)->load($path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register Bouncer as a singleton.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function registerFacades()
|
||||||
|
{
|
||||||
|
// Product image
|
||||||
|
$loader = AliasLoader::getInstance();
|
||||||
|
$loader->alias('productimage', ProductImageFacade::class);
|
||||||
|
|
||||||
|
$this->app->singleton('productimage', function () {
|
||||||
|
return app()->make(ProductImage::class);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Product video
|
||||||
|
$loader->alias('productvideo', ProductVideoFacade::class);
|
||||||
|
|
||||||
|
$this->app->singleton('productvideo', function () {
|
||||||
|
return app()->make(ProductVideo::class);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,7 @@ namespace Webkul\Product\Type;
|
||||||
use Webkul\Checkout\Facades\Cart;
|
use Webkul\Checkout\Facades\Cart;
|
||||||
use Webkul\Checkout\Models\CartItem;
|
use Webkul\Checkout\Models\CartItem;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Webkul\Product\Helpers\ProductImage;
|
use Webkul\Product\Facades\ProductImage;
|
||||||
use Webkul\Product\Models\ProductAttributeValue;
|
use Webkul\Product\Models\ProductAttributeValue;
|
||||||
use Webkul\Product\Repositories\ProductRepository;
|
use Webkul\Product\Repositories\ProductRepository;
|
||||||
use Webkul\Attribute\Repositories\AttributeRepository;
|
use Webkul\Attribute\Repositories\AttributeRepository;
|
||||||
|
|
@ -62,13 +62,6 @@ abstract class AbstractType
|
||||||
*/
|
*/
|
||||||
protected $productVideoRepository;
|
protected $productVideoRepository;
|
||||||
|
|
||||||
/**
|
|
||||||
* Product Image helper instance
|
|
||||||
*
|
|
||||||
* @var \Webkul\Product\Helpers\ProductImage
|
|
||||||
*/
|
|
||||||
protected $productImageHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Product model instance
|
* Product model instance
|
||||||
*
|
*
|
||||||
|
|
@ -151,7 +144,6 @@ abstract class AbstractType
|
||||||
* @param \Webkul\Product\Repositories\ProductAttributeValueRepository $attributeValueRepository
|
* @param \Webkul\Product\Repositories\ProductAttributeValueRepository $attributeValueRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository
|
* @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImageHelper
|
|
||||||
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
|
@ -162,7 +154,6 @@ abstract class AbstractType
|
||||||
ProductAttributeValueRepository $attributeValueRepository,
|
ProductAttributeValueRepository $attributeValueRepository,
|
||||||
ProductInventoryRepository $productInventoryRepository,
|
ProductInventoryRepository $productInventoryRepository,
|
||||||
ProductImageRepository $productImageRepository,
|
ProductImageRepository $productImageRepository,
|
||||||
ProductImage $productImageHelper,
|
|
||||||
ProductVideoRepository $productVideoRepository
|
ProductVideoRepository $productVideoRepository
|
||||||
) {
|
) {
|
||||||
$this->attributeRepository = $attributeRepository;
|
$this->attributeRepository = $attributeRepository;
|
||||||
|
|
@ -175,8 +166,6 @@ abstract class AbstractType
|
||||||
|
|
||||||
$this->productImageRepository = $productImageRepository;
|
$this->productImageRepository = $productImageRepository;
|
||||||
|
|
||||||
$this->productImageHelper = $productImageHelper;
|
|
||||||
|
|
||||||
$this->productVideoRepository = $productVideoRepository;
|
$this->productVideoRepository = $productVideoRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -848,7 +837,7 @@ abstract class AbstractType
|
||||||
*/
|
*/
|
||||||
public function getBaseImage($item)
|
public function getBaseImage($item)
|
||||||
{
|
{
|
||||||
return $this->productImageHelper->getProductBaseImage($item->product);
|
return ProductImage::getProductBaseImage($item->product);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ use Webkul\Product\Repositories\ProductImageRepository;
|
||||||
use Webkul\Product\Repositories\ProductVideoRepository;
|
use Webkul\Product\Repositories\ProductVideoRepository;
|
||||||
use Webkul\Product\Repositories\ProductBundleOptionRepository;
|
use Webkul\Product\Repositories\ProductBundleOptionRepository;
|
||||||
use Webkul\Product\Repositories\ProductBundleOptionProductRepository;
|
use Webkul\Product\Repositories\ProductBundleOptionProductRepository;
|
||||||
use Webkul\Product\Helpers\ProductImage;
|
|
||||||
use Webkul\Product\Helpers\BundleOption;
|
use Webkul\Product\Helpers\BundleOption;
|
||||||
use Webkul\Checkout\Models\CartItem;
|
use Webkul\Checkout\Models\CartItem;
|
||||||
|
|
||||||
|
|
@ -88,7 +87,6 @@ class Bundle extends AbstractType
|
||||||
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductBundleOptionRepository $productBundleOptionRepository
|
* @param \Webkul\Product\Repositories\ProductBundleOptionRepository $productBundleOptionRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductBundleOptionProductRepository $productBundleOptionProductRepository
|
* @param \Webkul\Product\Repositories\ProductBundleOptionProductRepository $productBundleOptionProductRepository
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImageHelper
|
|
||||||
* @param \Webkul\Product\Helpers\BundleOption $bundleOptionHelper
|
* @param \Webkul\Product\Helpers\BundleOption $bundleOptionHelper
|
||||||
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
||||||
* @return void
|
* @return void
|
||||||
|
|
@ -101,7 +99,6 @@ class Bundle extends AbstractType
|
||||||
ProductImageRepository $productImageRepository,
|
ProductImageRepository $productImageRepository,
|
||||||
ProductBundleOptionRepository $productBundleOptionRepository,
|
ProductBundleOptionRepository $productBundleOptionRepository,
|
||||||
ProductBundleOptionProductRepository $productBundleOptionProductRepository,
|
ProductBundleOptionProductRepository $productBundleOptionProductRepository,
|
||||||
ProductImage $productImageHelper,
|
|
||||||
BundleOption $bundleOptionHelper,
|
BundleOption $bundleOptionHelper,
|
||||||
ProductVideoRepository $productVideoRepository
|
ProductVideoRepository $productVideoRepository
|
||||||
)
|
)
|
||||||
|
|
@ -112,7 +109,6 @@ class Bundle extends AbstractType
|
||||||
$attributeValueRepository,
|
$attributeValueRepository,
|
||||||
$productInventoryRepository,
|
$productInventoryRepository,
|
||||||
$productImageRepository,
|
$productImageRepository,
|
||||||
$productImageHelper,
|
|
||||||
$productVideoRepository
|
$productVideoRepository
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
namespace Webkul\Product\Type;
|
namespace Webkul\Product\Type;
|
||||||
|
|
||||||
use Webkul\Checkout\Models\CartItem;
|
use Webkul\Checkout\Models\CartItem;
|
||||||
use Webkul\Product\Helpers\ProductImage;
|
|
||||||
use Webkul\Product\Repositories\ProductRepository;
|
use Webkul\Product\Repositories\ProductRepository;
|
||||||
use Webkul\Attribute\Repositories\AttributeRepository;
|
use Webkul\Attribute\Repositories\AttributeRepository;
|
||||||
use Webkul\Product\Datatypes\CartItemValidationResult;
|
use Webkul\Product\Datatypes\CartItemValidationResult;
|
||||||
|
|
@ -80,7 +79,6 @@ class Downloadable extends AbstractType
|
||||||
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductDownloadableLinkRepository $productDownloadableLinkRepository
|
* @param \Webkul\Product\Repositories\ProductDownloadableLinkRepository $productDownloadableLinkRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductDownloadableSampleRepository $productDownloadableSampleRepository
|
* @param \Webkul\Product\Repositories\ProductDownloadableSampleRepository $productDownloadableSampleRepository
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImageHelper
|
|
||||||
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
|
|
@ -93,7 +91,6 @@ class Downloadable extends AbstractType
|
||||||
productImageRepository $productImageRepository,
|
productImageRepository $productImageRepository,
|
||||||
ProductDownloadableLinkRepository $productDownloadableLinkRepository,
|
ProductDownloadableLinkRepository $productDownloadableLinkRepository,
|
||||||
ProductDownloadableSampleRepository $productDownloadableSampleRepository,
|
ProductDownloadableSampleRepository $productDownloadableSampleRepository,
|
||||||
ProductImage $productImageHelper,
|
|
||||||
ProductVideoRepository $productVideoRepository
|
ProductVideoRepository $productVideoRepository
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
@ -103,7 +100,6 @@ class Downloadable extends AbstractType
|
||||||
$attributeValueRepository,
|
$attributeValueRepository,
|
||||||
$productInventoryRepository,
|
$productInventoryRepository,
|
||||||
$productImageRepository,
|
$productImageRepository,
|
||||||
$productImageHelper,
|
|
||||||
$productVideoRepository
|
$productVideoRepository
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
namespace Webkul\Product\Type;
|
namespace Webkul\Product\Type;
|
||||||
|
|
||||||
use Webkul\Product\Models\ProductFlat;
|
use Webkul\Product\Models\ProductFlat;
|
||||||
use Webkul\Product\Helpers\ProductImage;
|
|
||||||
use Webkul\Product\Repositories\ProductRepository;
|
use Webkul\Product\Repositories\ProductRepository;
|
||||||
use Webkul\Attribute\Repositories\AttributeRepository;
|
use Webkul\Attribute\Repositories\AttributeRepository;
|
||||||
use Webkul\Product\Repositories\ProductImageRepository;
|
use Webkul\Product\Repositories\ProductImageRepository;
|
||||||
|
|
@ -58,7 +57,6 @@ class Grouped extends AbstractType
|
||||||
* @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository
|
* @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
* @param \Webkul\Product\Repositories\ProductImageRepository $productImageRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductGroupedProductRepository $productGroupedProductRepository
|
* @param \Webkul\Product\Repositories\ProductGroupedProductRepository $productGroupedProductRepository
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImageHelper
|
|
||||||
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
|
@ -69,7 +67,6 @@ class Grouped extends AbstractType
|
||||||
ProductInventoryRepository $productInventoryRepository,
|
ProductInventoryRepository $productInventoryRepository,
|
||||||
ProductImageRepository $productImageRepository,
|
ProductImageRepository $productImageRepository,
|
||||||
ProductGroupedProductRepository $productGroupedProductRepository,
|
ProductGroupedProductRepository $productGroupedProductRepository,
|
||||||
ProductImage $productImageHelper,
|
|
||||||
ProductVideoRepository $productVideoRepository
|
ProductVideoRepository $productVideoRepository
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
@ -79,7 +76,6 @@ class Grouped extends AbstractType
|
||||||
$attributeValueRepository,
|
$attributeValueRepository,
|
||||||
$productInventoryRepository,
|
$productInventoryRepository,
|
||||||
$productImageRepository,
|
$productImageRepository,
|
||||||
$productImageHelper,
|
|
||||||
$productVideoRepository
|
$productVideoRepository
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddDownloadCanceledColumnInDownloadableLinkPurchasedTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('downloadable_link_purchased', function (Blueprint $table) {
|
||||||
|
$table->integer('download_canceled')->default(0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('downloadable_link_purchased', function (Blueprint $table) {
|
||||||
|
$table->integer('download_canceled')->default(0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -24,6 +24,7 @@ class DownloadableLinkPurchased extends Model implements DownloadableLinkPurchas
|
||||||
'customer_id',
|
'customer_id',
|
||||||
'order_id',
|
'order_id',
|
||||||
'order_item_id',
|
'order_item_id',
|
||||||
|
'download_canceled',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -98,9 +98,29 @@ class DownloadableLinkPurchasedRepository extends Repository
|
||||||
$purchasedLinks = $this->findByField('order_item_id', $orderItem->id);
|
$purchasedLinks = $this->findByField('order_item_id', $orderItem->id);
|
||||||
|
|
||||||
foreach ($purchasedLinks as $purchasedLink) {
|
foreach ($purchasedLinks as $purchasedLink) {
|
||||||
$this->update([
|
if ($status == 'expired') {
|
||||||
'status' => $status,
|
if (count($purchasedLink->order_item->invoice_items) > 0) {
|
||||||
], $purchasedLink->id);
|
$totalInvoiceQty = 0;
|
||||||
|
|
||||||
|
foreach ($purchasedLink->order_item->invoice_items as $invoice_item) {
|
||||||
|
$totalInvoiceQty = $totalInvoiceQty + $invoice_item->qty;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->update([
|
||||||
|
'status' => $purchasedLink->download_used == $totalInvoiceQty ? $status : $purchasedLink->status,
|
||||||
|
'download_canceled' => $purchasedLink->download_bought - $totalInvoiceQty,
|
||||||
|
], $purchasedLink->id);
|
||||||
|
} else {
|
||||||
|
$this->update([
|
||||||
|
'status' => $status,
|
||||||
|
'download_canceled' => $purchasedLink->download_bought,
|
||||||
|
], $purchasedLink->id);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->update([
|
||||||
|
'status' => $status,
|
||||||
|
], $purchasedLink->id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
"/js/shop.js": "/js/shop.js?id=fd3e9e2c897df46dd84c",
|
"/js/shop.js": "/js/shop.js?id=83c93b077da401f7b709",
|
||||||
"/css/shop.css": "/css/shop.css?id=d080a007e2aec5d519b3"
|
"/css/shop.css": "/css/shop.css?id=6f4a4f8fad1b25e05e33"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,14 +14,16 @@ class DownloadableProductDataGrid extends DataGrid
|
||||||
public function prepareQueryBuilder()
|
public function prepareQueryBuilder()
|
||||||
{
|
{
|
||||||
$queryBuilder = DB::table('downloadable_link_purchased')
|
$queryBuilder = DB::table('downloadable_link_purchased')
|
||||||
|
->distinct()
|
||||||
->leftJoin('orders', 'downloadable_link_purchased.order_id', '=', 'orders.id')
|
->leftJoin('orders', 'downloadable_link_purchased.order_id', '=', 'orders.id')
|
||||||
->leftJoin('invoices', 'downloadable_link_purchased.order_id', '=', 'invoices.order_id')
|
->leftJoin('invoices', 'downloadable_link_purchased.order_id', '=', 'invoices.order_id')
|
||||||
->addSelect('downloadable_link_purchased.*', 'invoices.state as invoice_state', 'orders.increment_id')
|
->addSelect('downloadable_link_purchased.*', 'invoices.state as invoice_state', 'orders.increment_id')
|
||||||
->addSelect(DB::raw('(' . DB::getTablePrefix() . 'downloadable_link_purchased.download_bought - ' . DB::getTablePrefix() . 'downloadable_link_purchased.download_used) as remaining_downloads'))
|
->addSelect(DB::raw('(' . DB::getTablePrefix() . 'downloadable_link_purchased.download_bought - ' . DB::getTablePrefix() . 'downloadable_link_purchased.download_canceled - ' . DB::getTablePrefix() . 'downloadable_link_purchased.download_used) as remaining_downloads'))
|
||||||
->where('downloadable_link_purchased.customer_id', auth()->guard('customer')->user()->id);
|
->where('downloadable_link_purchased.customer_id', auth()->guard('customer')->user()->id);
|
||||||
|
|
||||||
$this->addFilter('status', 'downloadable_link_purchased.status');
|
$this->addFilter('status', 'downloadable_link_purchased.status');
|
||||||
$this->addFilter('created_at', 'downloadable_link_purchased.created_at');
|
$this->addFilter('created_at', 'downloadable_link_purchased.created_at');
|
||||||
|
$this->addFilter('increment_id', 'orders.increment_id');
|
||||||
|
|
||||||
$this->setQueryBuilder($queryBuilder);
|
$this->setQueryBuilder($queryBuilder);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,15 +58,28 @@ class DownloadableProductController extends Controller
|
||||||
abort(403);
|
abort(403);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$totalInvoiceQty = 0;
|
||||||
|
if (isset($downloadableLinkPurchased->order->invoices)) {
|
||||||
|
foreach ($downloadableLinkPurchased->order->invoices as $invoice) {
|
||||||
|
$totalInvoiceQty = $totalInvoiceQty + $invoice->total_qty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($downloadableLinkPurchased->download_used == $totalInvoiceQty || $downloadableLinkPurchased->download_used > $totalInvoiceQty) {
|
||||||
|
session()->flash('warning', trans('shop::app.customer.account.downloadable_products.payment-error'));
|
||||||
|
|
||||||
|
return redirect()->route('customer.downloadable_products.index');
|
||||||
|
}
|
||||||
|
|
||||||
if ($downloadableLinkPurchased->download_bought
|
if ($downloadableLinkPurchased->download_bought
|
||||||
&& ($downloadableLinkPurchased->download_bought - $downloadableLinkPurchased->download_used) <= 0) {
|
&& ($downloadableLinkPurchased->download_bought - ($downloadableLinkPurchased->download_used + $downloadableLinkPurchased->download_canceled)) <= 0) {
|
||||||
|
|
||||||
session()->flash('warning', trans('shop::app.customer.account.downloadable_products.download-error'));
|
session()->flash('warning', trans('shop::app.customer.account.downloadable_products.download-error'));
|
||||||
|
|
||||||
return redirect()->route('customer.downloadable_products.index');
|
return redirect()->route('customer.downloadable_products.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
$remainingDownloads = $downloadableLinkPurchased->download_bought - ($downloadableLinkPurchased->download_used + 1);
|
$remainingDownloads = $downloadableLinkPurchased->download_bought - ($downloadableLinkPurchased->download_used + $downloadableLinkPurchased->download_canceled + 1);
|
||||||
|
|
||||||
if ($downloadableLinkPurchased->download_bought) {
|
if ($downloadableLinkPurchased->download_bought) {
|
||||||
$this->downloadableLinkPurchasedRepository->update([
|
$this->downloadableLinkPurchasedRepository->update([
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<transition name="slide">
|
<transition name="slide">
|
||||||
<div class="slider-content" v-if="images.length > 0">
|
<div class="slider-content" v-if="images.length > 0">
|
||||||
|
|
||||||
<ul class="slider-images">
|
<ul class="slider-images">
|
||||||
<li v-for="(image, index) in images" :key="index" v-bind:class="{'show': index==currentIndex}">
|
<li v-for="(image, index) in images" :key="index" v-bind:class="{'show': index==currentIndex}">
|
||||||
<a :href="image.slider_path">
|
<a :href="image.slider_path">
|
||||||
|
|
@ -19,10 +18,29 @@
|
||||||
</transition>
|
</transition>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.slider-control {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide-enter-active {
|
||||||
|
transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide-leave-active {
|
||||||
|
transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||||
|
}
|
||||||
|
|
||||||
|
.slide-enter, .slide-leave-to {
|
||||||
|
-webkit-transform: scaleY(0) translateZ(0);
|
||||||
|
transform: scaleY(0) translateZ(0);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
props: {
|
||||||
props:{
|
|
||||||
slides: {
|
slides: {
|
||||||
type: Array,
|
type: Array,
|
||||||
required: true,
|
required: true,
|
||||||
|
|
@ -36,16 +54,11 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
images: [],
|
images: [],
|
||||||
|
|
||||||
currentIndex: -1,
|
currentIndex: -1,
|
||||||
|
|
||||||
content: [],
|
content: [],
|
||||||
|
|
||||||
current: false,
|
current: false,
|
||||||
|
|
||||||
images_loaded: false,
|
images_loaded: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
@ -55,7 +68,6 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
getProps() {
|
getProps() {
|
||||||
this.setProps();
|
this.setProps();
|
||||||
},
|
},
|
||||||
|
|
@ -85,34 +97,18 @@ export default {
|
||||||
changeIndexLeft: function() {
|
changeIndexLeft: function() {
|
||||||
if (this.currentIndex > 0) {
|
if (this.currentIndex > 0) {
|
||||||
this.currentIndex--;
|
this.currentIndex--;
|
||||||
} else if(this.currentIndex == 0) {
|
} else if (this.currentIndex == 0) {
|
||||||
this.currentIndex = this.images.length-1;
|
this.currentIndex = this.images.length-1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeIndexRight: function() {
|
changeIndexRight: function() {
|
||||||
if(this.currentIndex < this.images.length-1) {
|
if (this.currentIndex < this.images.length-1) {
|
||||||
this.currentIndex++;
|
this.currentIndex++;
|
||||||
} else if(this.currentIndex == this.images.length-1) {
|
} else if (this.currentIndex == this.images.length-1) {
|
||||||
this.currentIndex = 0;
|
this.currentIndex = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
|
||||||
.slide-enter-active {
|
|
||||||
transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-leave-active {
|
|
||||||
transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-enter, .slide-leave-to {
|
|
||||||
-webkit-transform: scaleY(0) translateZ(0);
|
|
||||||
transform: scaleY(0) translateZ(0);
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -1881,6 +1881,7 @@ section.product-detail {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
color: $font-dark;
|
color: $font-dark;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
|
line-height: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.product-price {
|
.product-price {
|
||||||
|
|
|
||||||
|
|
@ -374,7 +374,8 @@ return [
|
||||||
'expired' => 'منتهية الصلاحية',
|
'expired' => 'منتهية الصلاحية',
|
||||||
'remaining-downloads' => 'التنزيلات المتبقية',
|
'remaining-downloads' => 'التنزيلات المتبقية',
|
||||||
'unlimited' => 'غير محدود',
|
'unlimited' => 'غير محدود',
|
||||||
'download-error' => 'انتهت صلاحية رابط التنزيل.'
|
'download-error' => 'انتهت صلاحية رابط التنزيل.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -371,7 +371,8 @@ return [
|
||||||
'expired' => 'Abgelaufen',
|
'expired' => 'Abgelaufen',
|
||||||
'remaining-downloads' => 'Verbleibende Downloads',
|
'remaining-downloads' => 'Verbleibende Downloads',
|
||||||
'unlimited' => 'Unbegrenzt',
|
'unlimited' => 'Unbegrenzt',
|
||||||
'download-error' => 'Der Download-Link ist abgelaufen.'
|
'download-error' => 'Der Download-Link ist abgelaufen.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -375,7 +375,8 @@ return [
|
||||||
'expired' => 'Expired',
|
'expired' => 'Expired',
|
||||||
'remaining-downloads' => 'Remaining Downloads',
|
'remaining-downloads' => 'Remaining Downloads',
|
||||||
'unlimited' => 'Unlimited',
|
'unlimited' => 'Unlimited',
|
||||||
'download-error' => 'Download link has been expired.'
|
'download-error' => 'Download link has been expired.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -355,7 +355,8 @@ return [
|
||||||
'expired' => 'Caducado',
|
'expired' => 'Caducado',
|
||||||
'remaining-downloads' => 'Descargas restantes',
|
'remaining-downloads' => 'Descargas restantes',
|
||||||
'unlimited' => 'Ilimitado',
|
'unlimited' => 'Ilimitado',
|
||||||
'download-error' => 'El enlace de descarga ha caducado.'
|
'download-error' => 'El enlace de descarga ha caducado.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -373,7 +373,8 @@ return [
|
||||||
'expired' => 'منقضی شده',
|
'expired' => 'منقضی شده',
|
||||||
'remaining-downloads' => 'بارگیری های باقی مانده',
|
'remaining-downloads' => 'بارگیری های باقی مانده',
|
||||||
'unlimited' => 'نامحدود',
|
'unlimited' => 'نامحدود',
|
||||||
'download-error' => 'لینک دانلود منقضی شده است'
|
'download-error' => 'لینک دانلود منقضی شده است',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -372,7 +372,8 @@ return [
|
||||||
'expired' => 'Scaduto',
|
'expired' => 'Scaduto',
|
||||||
'remaining-downloads' => 'Download rimasti',
|
'remaining-downloads' => 'Download rimasti',
|
||||||
'unlimited' => 'Illimitati',
|
'unlimited' => 'Illimitati',
|
||||||
'download-error' => 'Il link per il Download è scaduto.'
|
'download-error' => 'Il link per il Download è scaduto.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -352,7 +352,8 @@ return [
|
||||||
'expired' => '期限切れ',
|
'expired' => '期限切れ',
|
||||||
'remaining-downloads' => '残りのダウンロード数',
|
'remaining-downloads' => '残りのダウンロード数',
|
||||||
'unlimited' => '無制限',
|
'unlimited' => '無制限',
|
||||||
'download-error' => 'ダウンロードリンクの有効期限が切れています.'
|
'download-error' => 'ダウンロードリンクの有効期限が切れています.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -378,7 +378,8 @@ return [
|
||||||
'expired' => 'Expired',
|
'expired' => 'Expired',
|
||||||
'remaining-downloads' => 'Resterende downloads',
|
'remaining-downloads' => 'Resterende downloads',
|
||||||
'unlimited' => 'Onbeperkt',
|
'unlimited' => 'Onbeperkt',
|
||||||
'download-error' => 'Downloadlink is verlopen.'
|
'download-error' => 'Downloadlink is verlopen.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -372,7 +372,8 @@ return [
|
||||||
'expired' => 'wygasł',
|
'expired' => 'wygasł',
|
||||||
'remaining-downloads' => 'Pozostałe pliki do pobrania',
|
'remaining-downloads' => 'Pozostałe pliki do pobrania',
|
||||||
'unlimited' => 'Bez limitu',
|
'unlimited' => 'Bez limitu',
|
||||||
'download-error' => 'Link do pobrania wygasł.'
|
'download-error' => 'Link do pobrania wygasł.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -366,7 +366,8 @@ return [
|
||||||
'expired' => 'Expirado',
|
'expired' => 'Expirado',
|
||||||
'remaining-downloads' => 'Downloads restantes',
|
'remaining-downloads' => 'Downloads restantes',
|
||||||
'unlimited' => 'Ilimitado',
|
'unlimited' => 'Ilimitado',
|
||||||
'download-error' => 'O link para download expirou.'
|
'download-error' => 'O link para download expirou.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -371,7 +371,8 @@ return [
|
||||||
'expired' => 'Süresi Doldu',
|
'expired' => 'Süresi Doldu',
|
||||||
'remaining-downloads' => 'Kalan İndirme',
|
'remaining-downloads' => 'Kalan İndirme',
|
||||||
'unlimited' => 'Sınırsız',
|
'unlimited' => 'Sınırsız',
|
||||||
'download-error' => 'İndirme linki süresi doldu.'
|
'download-error' => 'İndirme linki süresi doldu.',
|
||||||
|
'payment-error' => 'Payment has not been done for this download.'
|
||||||
],
|
],
|
||||||
|
|
||||||
'review' => [
|
'review' => [
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,6 @@
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
@section('content-wrapper')
|
@section('content-wrapper')
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
<section class="cart">
|
<section class="cart">
|
||||||
@if ($cart)
|
@if ($cart)
|
||||||
<div class="title">
|
<div class="title">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
<?php $cart = cart()->getCart(); ?>
|
<?php $cart = cart()->getCart(); ?>
|
||||||
|
|
||||||
@if ($cart)
|
@if ($cart)
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,6 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
<div class="cart-item-list mt-20">
|
<div class="cart-item-list mt-20">
|
||||||
@foreach ($cart->items as $item)
|
@foreach ($cart->items as $item)
|
||||||
@php
|
@php
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@extends('shop::layouts.master')
|
@extends('shop::layouts.master')
|
||||||
|
|
||||||
@section('page_title')
|
@section('page_title')
|
||||||
|
|
@ -34,7 +32,7 @@
|
||||||
@foreach ($reviews as $review)
|
@foreach ($reviews as $review)
|
||||||
<div class="account-item-card mt-15 mb-15">
|
<div class="account-item-card mt-15 mb-15">
|
||||||
<div class="media-info">
|
<div class="media-info">
|
||||||
<?php $image = $productImageHelper->getProductBaseImage($review->product); ?>
|
<?php $image = productimage()->getProductBaseImage($review->product); ?>
|
||||||
<a href="{{ route('shop.productOrCategory.index', $review->product->url_key) }}" title="{{ $review->product->name }}">
|
<a href="{{ route('shop.productOrCategory.index', $review->product->url_key) }}" title="{{ $review->product->name }}">
|
||||||
<img class="media" src="{{ $image['small_image_url'] }}" alt=""/>
|
<img class="media" src="{{ $image['small_image_url'] }}" alt=""/>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@extends('shop::layouts.master')
|
@extends('shop::layouts.master')
|
||||||
|
|
||||||
@section('page_title')
|
@section('page_title')
|
||||||
|
|
@ -21,7 +19,7 @@
|
||||||
@foreach ($reviews as $review)
|
@foreach ($reviews as $review)
|
||||||
<div class="account-item-card mt-15 mb-15">
|
<div class="account-item-card mt-15 mb-15">
|
||||||
<div class="media-info">
|
<div class="media-info">
|
||||||
<?php $image = $productImageHelper->getGalleryImages($review->product); ?>
|
<?php $image = productimage()->getGalleryImages($review->product); ?>
|
||||||
<img class="media" src="{{ $image[0]['small_image_url'] }}" alt="" />
|
<img class="media" src="{{ $image[0]['small_image_url'] }}" alt="" />
|
||||||
|
|
||||||
<div class="info mt-20">
|
<div class="info mt-20">
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,6 @@
|
||||||
|
|
||||||
@section('content-wrapper')
|
@section('content-wrapper')
|
||||||
<div class="account-content">
|
<div class="account-content">
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@include('shop::customers.account.partials.sidemenu')
|
@include('shop::customers.account.partials.sidemenu')
|
||||||
|
|
||||||
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@
|
||||||
|
|
||||||
<div class="product-card">
|
<div class="product-card">
|
||||||
|
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
<?php $productBaseImage = productimage()->getProductBaseImage($product); ?>
|
||||||
|
|
||||||
<?php $productBaseImage = $productImageHelper->getProductBaseImage($product); ?>
|
|
||||||
|
|
||||||
@if ($product->new)
|
@if ($product->new)
|
||||||
<div class="sticker new">
|
<div class="sticker new">
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,8 @@
|
||||||
|
|
||||||
<div class="review-layouter mb-20">
|
<div class="review-layouter mb-20">
|
||||||
<div class="product-info">
|
<div class="product-info">
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
<?php $productBaseImage = $productImageHelper->getProductBaseImage($product); ?>
|
<?php $productBaseImage = productimage()->getProductBaseImage($product); ?>
|
||||||
|
|
||||||
<div class="product-image">
|
<div class="product-image">
|
||||||
<a href="{{ route('shop.productOrCategory.index', $product->url_key) }}" title="{{ $product->name }}">
|
<a href="{{ route('shop.productOrCategory.index', $product->url_key) }}" title="{{ $product->name }}">
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,9 @@
|
||||||
<section class="review">
|
<section class="review">
|
||||||
|
|
||||||
<div class="review-layouter">
|
<div class="review-layouter">
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
||||||
|
|
||||||
<?php $productBaseImage = $productImageHelper->getProductBaseImage($product); ?>
|
<?php $productBaseImage = productimage()->getProductBaseImage($product); ?>
|
||||||
|
|
||||||
<div class="product-info">
|
<div class="product-info">
|
||||||
<div class="product-image">
|
<div class="product-image">
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<?php $productBaseImage = app('Webkul\Product\Helpers\ProductImage')->getProductBaseImage($product); ?>
|
<?php $productBaseImage = productimage()->getProductBaseImage($product); ?>
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -282,7 +282,9 @@
|
||||||
|
|
||||||
priceElement.innerHTML = this.config.variant_prices[this.simpleProduct].final_price.formated_price;
|
priceElement.innerHTML = this.config.variant_prices[this.simpleProduct].final_price.formated_price;
|
||||||
|
|
||||||
regularPriceElement.innerHTML = this.config.variant_prices[this.simpleProduct].regular_price.formated_price;
|
if (regularPriceElement) {
|
||||||
|
regularPriceElement.innerHTML = this.config.variant_prices[this.simpleProduct].regular_price.formated_price;
|
||||||
|
}
|
||||||
|
|
||||||
eventBus.$emit('configurable-variant-selected-event', this.simpleProduct)
|
eventBus.$emit('configurable-variant-selected-event', this.simpleProduct)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
@inject ('productVideoHelper', 'Webkul\Product\Helpers\ProductVideo')
|
|
||||||
@inject ('wishListHelper', 'Webkul\Customer\Helpers\Wishlist')
|
@inject ('wishListHelper', 'Webkul\Customer\Helpers\Wishlist')
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$images = $productImageHelper->getGalleryImages($product);
|
$images = productimage()->getGalleryImages($product);
|
||||||
|
|
||||||
$videos = $productVideoHelper->getVideos($product);
|
$videos = productvideo()->getVideos($product);
|
||||||
|
|
||||||
$images = array_merge($images, $videos);
|
$images = array_merge($images, $videos);
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
<div class="action">
|
<div class="action">
|
||||||
@foreach ($actions as $action)
|
@foreach ($actions as $action)
|
||||||
@php
|
@php
|
||||||
$toDisplay = (isset($action['condition']) && gettype($action['condition']) == 'object') ? $action['condition']() : true;
|
$toDisplay = (isset($action['condition']) && gettype($action['condition']) == 'object') ? $action['condition']($record) : true;
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
@if ($toDisplay)
|
@if ($toDisplay)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ namespace Webkul\Velocity\Helpers;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Webkul\Product\Helpers\Review;
|
use Webkul\Product\Helpers\Review;
|
||||||
|
use Webkul\Product\Facades\ProductImage;
|
||||||
use Webkul\Product\Models\Product as ProductModel;
|
use Webkul\Product\Models\Product as ProductModel;
|
||||||
use Webkul\Product\Repositories\ProductRepository;
|
use Webkul\Product\Repositories\ProductRepository;
|
||||||
use Webkul\Product\Repositories\ProductFlatRepository;
|
use Webkul\Product\Repositories\ProductFlatRepository;
|
||||||
|
|
@ -276,10 +277,9 @@ class Helper extends Review
|
||||||
public function formatProduct($product, $list = false, $metaInformation = [])
|
public function formatProduct($product, $list = false, $metaInformation = [])
|
||||||
{
|
{
|
||||||
$reviewHelper = app('Webkul\Product\Helpers\Review');
|
$reviewHelper = app('Webkul\Product\Helpers\Review');
|
||||||
$productImageHelper = app('Webkul\Product\Helpers\ProductImage');
|
|
||||||
|
|
||||||
$galleryImages = $productImageHelper->getGalleryImages($product);
|
$galleryImages = ProductImage::getGalleryImages($product);
|
||||||
$productImage = $productImageHelper->getProductBaseImage($product, $galleryImages)['medium_image_url'];
|
$productImage = ProductImage::getProductBaseImage($product, $galleryImages)['medium_image_url'];
|
||||||
|
|
||||||
$largeProductImageName = "large-product-placeholder.png";
|
$largeProductImageName = "large-product-placeholder.png";
|
||||||
$mediumProductImageName = "meduim-product-placeholder.png";
|
$mediumProductImageName = "meduim-product-placeholder.png";
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ use Illuminate\Routing\Controller as BaseController;
|
||||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||||
|
|
||||||
use Webkul\Velocity\Helpers\Helper;
|
use Webkul\Velocity\Helpers\Helper;
|
||||||
use Webkul\Product\Helpers\ProductImage;
|
|
||||||
use Webkul\Product\Repositories\SearchRepository;
|
use Webkul\Product\Repositories\SearchRepository;
|
||||||
use Webkul\Product\Repositories\ProductRepository;
|
use Webkul\Product\Repositories\ProductRepository;
|
||||||
use Webkul\Customer\Repositories\WishlistRepository;
|
use Webkul\Customer\Repositories\WishlistRepository;
|
||||||
|
|
@ -26,13 +25,6 @@ class Controller extends BaseController
|
||||||
*/
|
*/
|
||||||
protected $_config;
|
protected $_config;
|
||||||
|
|
||||||
/**
|
|
||||||
* ProductImage object
|
|
||||||
*
|
|
||||||
* @var \Webkul\Product\Helpers\ProductImage
|
|
||||||
*/
|
|
||||||
protected $productImageHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SearchRepository object
|
* SearchRepository object
|
||||||
*
|
*
|
||||||
|
|
@ -87,7 +79,6 @@ class Controller extends BaseController
|
||||||
* Create a new controller instance.
|
* Create a new controller instance.
|
||||||
*
|
*
|
||||||
* @param \Webkul\Velocity\Helpers\Helper $velocityHelper
|
* @param \Webkul\Velocity\Helpers\Helper $velocityHelper
|
||||||
* @param \Webkul\Product\Helpers\ProductImage $productImageHelper
|
|
||||||
* @param \Webkul\Product\Repositories\SearchRepository $searchRepository
|
* @param \Webkul\Product\Repositories\SearchRepository $searchRepository
|
||||||
* @param \Webkul\Product\Repositories\ProductRepository $productRepository
|
* @param \Webkul\Product\Repositories\ProductRepository $productRepository
|
||||||
* @param \Webkul\Category\Repositories\CategoryRepository $categoryRepository
|
* @param \Webkul\Category\Repositories\CategoryRepository $categoryRepository
|
||||||
|
|
@ -98,7 +89,6 @@ class Controller extends BaseController
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
Helper $velocityHelper,
|
Helper $velocityHelper,
|
||||||
ProductImage $productImageHelper,
|
|
||||||
SearchRepository $searchRepository,
|
SearchRepository $searchRepository,
|
||||||
ProductRepository $productRepository,
|
ProductRepository $productRepository,
|
||||||
WishlistRepository $wishlistRepository,
|
WishlistRepository $wishlistRepository,
|
||||||
|
|
@ -114,8 +104,6 @@ class Controller extends BaseController
|
||||||
|
|
||||||
$this->productRepository = $productRepository;
|
$this->productRepository = $productRepository;
|
||||||
|
|
||||||
$this->productImageHelper = $productImageHelper;
|
|
||||||
|
|
||||||
$this->categoryRepository = $categoryRepository;
|
$this->categoryRepository = $categoryRepository;
|
||||||
|
|
||||||
$this->wishlistRepository = $wishlistRepository;
|
$this->wishlistRepository = $wishlistRepository;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace Webkul\Velocity\Http\Controllers\Shop;
|
namespace Webkul\Velocity\Http\Controllers\Shop;
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Webkul\Product\Facades\ProductImage;
|
||||||
use Webkul\Velocity\Http\Shop\Controllers;
|
use Webkul\Velocity\Http\Shop\Controllers;
|
||||||
use Webkul\Checkout\Contracts\Cart as CartModel;
|
use Webkul\Checkout\Contracts\Cart as CartModel;
|
||||||
use Cart;
|
use Cart;
|
||||||
|
|
@ -28,7 +29,7 @@ class ShopController extends Controller
|
||||||
if ($product) {
|
if ($product) {
|
||||||
$productReviewHelper = app('Webkul\Product\Helpers\Review');
|
$productReviewHelper = app('Webkul\Product\Helpers\Review');
|
||||||
|
|
||||||
$galleryImages = $this->productImageHelper->getProductBaseImage($product);
|
$galleryImages = ProductImage::getProductBaseImage($product);
|
||||||
|
|
||||||
$response = [
|
$response = [
|
||||||
'status' => true,
|
'status' => true,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@extends('shop::layouts.master')
|
@extends('shop::layouts.master')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
<div class="form-container review-checkout-conainer">
|
<div class="form-container review-checkout-conainer">
|
||||||
<accordian :title="'{{ __('shop::app.checkout.onepage.summary') }}'" :active="true">
|
<accordian :title="'{{ __('shop::app.checkout.onepage.summary') }}'" :active="true">
|
||||||
<div class="form-header mb-30" slot="header">
|
<div class="form-header mb-30" slot="header">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@extends('shop::customers.account.index')
|
@extends('shop::customers.account.index')
|
||||||
|
|
||||||
@section('page_title')
|
@section('page_title')
|
||||||
|
|
@ -33,7 +31,7 @@
|
||||||
<div class="row col-12 fs16">
|
<div class="row col-12 fs16">
|
||||||
<div class="col-12 row">
|
<div class="col-12 row">
|
||||||
@php
|
@php
|
||||||
$image = $productImageHelper->getProductBaseImage($review->product);
|
$image = productimage()->getProductBaseImage($review->product);
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
<a
|
<a
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
@extends('shop::layouts.master')
|
@extends('shop::layouts.master')
|
||||||
|
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
@inject ('productRatingHelper', 'Webkul\Product\Helpers\Review')
|
@inject ('productRatingHelper', 'Webkul\Product\Helpers\Review')
|
||||||
|
|
||||||
@php
|
@php
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
||||||
@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar')
|
@inject ('toolbarHelper', 'Webkul\Product\Helpers\Toolbar')
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@push('css')
|
@push('css')
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
|
@ -21,15 +20,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($item)) {
|
if (isset($item)) {
|
||||||
$productBaseImage = $productImageHelper->getProductImage($item);
|
$productBaseImage = productimage()->getProductImage($item);
|
||||||
} else {
|
} else {
|
||||||
$productBaseImage = $productImageHelper->getProductBaseImage($product);
|
$productBaseImage = productimage()->getProductBaseImage($product);
|
||||||
}
|
}
|
||||||
|
|
||||||
$totalReviews = $reviewHelper->getTotalReviews($product);
|
$totalReviews = $reviewHelper->getTotalReviews($product);
|
||||||
$avgRatings = ceil($reviewHelper->getAverageRating($product));
|
$avgRatings = ceil($reviewHelper->getAverageRating($product));
|
||||||
|
|
||||||
$galleryImages = $productImageHelper->getGalleryImages($product);
|
$galleryImages = productimage()->getGalleryImages($product);
|
||||||
$priceHTML = view('shop::products.price', ['product' => $product])->render();
|
$priceHTML = view('shop::products.price', ['product' => $product])->render();
|
||||||
|
|
||||||
$product->__set('priceHTML', $priceHTML);
|
$product->__set('priceHTML', $priceHTML);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@extends('shop::layouts.master')
|
@extends('shop::layouts.master')
|
||||||
|
|
||||||
@section('page_title')
|
@section('page_title')
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
@inject ('reviewHelper', 'Webkul\Product\Helpers\Review')
|
||||||
@inject ('customHelper', 'Webkul\Velocity\Helpers\Helper')
|
@inject ('customHelper', 'Webkul\Velocity\Helpers\Helper')
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$total = $reviewHelper->getTotalReviews($product);
|
$total = $reviewHelper->getTotalReviews($product);
|
||||||
|
|
@ -11,7 +10,7 @@
|
||||||
$avgStarRating = round($avgRatings);
|
$avgStarRating = round($avgRatings);
|
||||||
|
|
||||||
$productImages = [];
|
$productImages = [];
|
||||||
$images = $productImageHelper->getGalleryImages($product);
|
$images = productimage()->getGalleryImages($product);
|
||||||
|
|
||||||
foreach ($images as $key => $image) {
|
foreach ($images as $key => $image) {
|
||||||
array_push($productImages, $image['medium_image_url']);
|
array_push($productImages, $image['medium_image_url']);
|
||||||
|
|
@ -33,7 +32,7 @@
|
||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<?php $productBaseImage = app('Webkul\Product\Helpers\ProductImage')->getProductBaseImage($product, $images); ?>
|
<?php $productBaseImage = productimage()->getProductBaseImage($product, $images); ?>
|
||||||
|
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,10 @@
|
||||||
@if (Webkul\Product\Helpers\ProductType::hasVariants($product->type))
|
@if (Webkul\Product\Helpers\ProductType::hasVariants($product->type))
|
||||||
|
|
||||||
@inject ('configurableOptionHelper', 'Webkul\Product\Helpers\ConfigurableOption')
|
@inject ('configurableOptionHelper', 'Webkul\Product\Helpers\ConfigurableOption')
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$config = $configurableOptionHelper->getConfigurationConfig($product);
|
$config = $configurableOptionHelper->getConfigurationConfig($product);
|
||||||
$galleryImages = $productImageHelper->getGalleryImages($product);
|
$galleryImages = productimage()->getGalleryImages($product);
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
{!! view_render_event('bagisto.shop.products.view.configurable-options.before', ['product' => $product]) !!}
|
{!! view_render_event('bagisto.shop.products.view.configurable-options.before', ['product' => $product]) !!}
|
||||||
|
|
@ -297,7 +296,9 @@
|
||||||
|
|
||||||
priceElement.innerHTML = this.config.variant_prices[this.simpleProduct].final_price.formated_price;
|
priceElement.innerHTML = this.config.variant_prices[this.simpleProduct].final_price.formated_price;
|
||||||
|
|
||||||
regularPriceElement.innerHTML = this.config.variant_prices[this.simpleProduct].regular_price.formated_price;
|
if (regularPriceElement) {
|
||||||
|
regularPriceElement.innerHTML = this.config.variant_prices[this.simpleProduct].regular_price.formated_price;
|
||||||
|
}
|
||||||
|
|
||||||
eventBus.$emit('configurable-variant-selected-event', this.simpleProduct)
|
eventBus.$emit('configurable-variant-selected-event', this.simpleProduct)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
@inject ('productVideoHelper', 'Webkul\Product\Helpers\ProductVideo')
|
|
||||||
@inject ('wishListHelper', 'Webkul\Customer\Helpers\Wishlist')
|
@inject ('wishListHelper', 'Webkul\Customer\Helpers\Wishlist')
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$images = $productImageHelper->getGalleryImages($product);
|
$images = productimage()->getGalleryImages($product);
|
||||||
$videos = $productVideoHelper->getVideos($product);
|
$videos = productvideo()->getVideos($product);
|
||||||
|
|
||||||
$videoData = $imageData = [];
|
$videoData = $imageData = [];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
|
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$productBaseImage = $productImageHelper->getProductBaseImage($product);
|
$productBaseImage = productimage()->getProductBaseImage($product);
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
<div class="col-lg-3 col-md-12">
|
<div class="col-lg-3 col-md-12">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue