Moved Video Accordion After Images

This commit is contained in:
Devansh 2022-02-03 14:41:08 +05:30
parent 3b91f5edbd
commit fb1fbfb873
7 changed files with 121 additions and 101 deletions

View File

@ -1053,7 +1053,7 @@ abstract class AbstractType
/**
* Get offers lines.
*
* @param array $customerGroupPrice
* @param object $customerGroupPrice
* @return array
*/
public function getOfferLines($customerGroupPrice)

View File

@ -17,63 +17,65 @@ use Webkul\Product\Repositories\ProductVideoRepository;
class Bundle extends AbstractType
{
/**
* ProductBundleOptionRepository instance
* Product bundle option repository instance.
*
* @var \Webkul\Product\Repositories\ProductBundleOptionRepository
*/
protected $productBundleOptionRepository;
/**
* ProductBundleOptionProductRepository instance
* Product bundle option product repository instance.
*
* @var \Webkul\Product\Repositories\ProductBundleOptionProductRepository
*/
protected $productBundleOptionProductRepository;
/**
* Bundle Option helper instance
* Bundle Option helper instance.
*
* @var \Webkul\Product\Helpers\BundleOption
*/
*/
protected $bundleOptionHelper;
/**
* Skip attribute for Bundle product type
* Skip attribute for Bundle product type.
*
* @var array
*/
protected $skipAttributes = ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'length', 'width', 'height', 'weight'];
/**
* These blade files will be included in product edit page
* These blade files will be included in product edit page.
*
* @var array
*/
protected $additionalViews = [
'admin::catalog.products.accordians.images',
'admin::catalog.products.accordians.videos',
'admin::catalog.products.accordians.categories',
'admin::catalog.products.accordians.bundle-items',
'admin::catalog.products.accordians.channels',
'admin::catalog.products.accordians.product-links',
'admin::catalog.products.accordians.videos',
];
/**
* Is a composite product type
* Is a composite product type.
*
* @var bool
*/
protected $isComposite = true;
/**
* Product children price can be calculated or not
* Product children price can be calculated or not.
*
* @var bool
*/
protected $isChildrenCalculated = true;
/**
* Product Options
* Product options.
*
* @var array
*/
protected $productOptions = [];
@ -101,8 +103,7 @@ class Bundle extends AbstractType
ProductBundleOptionProductRepository $productBundleOptionProductRepository,
BundleOption $bundleOptionHelper,
ProductVideoRepository $productVideoRepository
)
{
) {
parent::__construct(
$attributeRepository,
$productRepository,
@ -120,12 +121,14 @@ class Bundle extends AbstractType
}
/**
* Update.
*
* @param array $data
* @param int $id
* @param string $attribute
* @return \Webkul\Product\Contracts\Product
*/
public function update(array $data, $id, $attribute = "id")
public function update(array $data, $id, $attribute = 'id')
{
$product = parent::update($data, $id, $attribute);
$route = request()->route() ? request()->route()->getName() : '';
@ -138,7 +141,7 @@ class Bundle extends AbstractType
}
/**
* Returns children ids
* Returns children ids.
*
* @return array
*/
@ -148,7 +151,7 @@ class Bundle extends AbstractType
}
/**
* Check if catalog rule can be applied
* Check if catalog rule can be applied.
*
* @return bool
*/
@ -158,7 +161,7 @@ class Bundle extends AbstractType
}
/**
* Get product minimal price
* Get product minimal price.
*
* @param int $qty
* @return float
@ -193,7 +196,7 @@ class Bundle extends AbstractType
}
/**
* Get product regular minimal price
* Get product regular minimal price.
*
* @return float
*/
@ -227,7 +230,7 @@ class Bundle extends AbstractType
}
/**
* Get product regular minimal price
* Get product regular minimal price.
*
* @param \Webkul\Product\Contracts\ProductBundleOption $option
* @param bool $minPrice
@ -243,17 +246,17 @@ class Bundle extends AbstractType
}
$optionPrices[] = $bundleOptionProduct->qty
* ($minPrice
? $bundleOptionProduct->product->getTypeInstance()->getMinimalPrice()
: $bundleOptionProduct->product->price
);
* ($minPrice
? $bundleOptionProduct->product->getTypeInstance()->getMinimalPrice()
: $bundleOptionProduct->product->price
);
}
return $optionPrices;
}
/**
* Check if product has required options or not
* Check if product has required options or not.
*
* @return bool
*/
@ -269,7 +272,7 @@ class Bundle extends AbstractType
}
/**
* Get product maximam price
* Get product maximum price.
*
* @return float
*/
@ -306,7 +309,7 @@ class Bundle extends AbstractType
}
/**
* Get product regular maximam price
* Get product regular maximum price.
*
* @return float
*/
@ -343,7 +346,7 @@ class Bundle extends AbstractType
}
/**
* Get product minimal price
* Get product minimal price.
*
* @param int $qty
* @return float
@ -354,7 +357,7 @@ class Bundle extends AbstractType
}
/**
* Returns product prices
* Returns product prices.
*
* @return array
*/
@ -369,10 +372,10 @@ class Bundle extends AbstractType
'final_price' => [
'price' => core()->convertPrice($this->evaluatePrice($this->getMinimalPrice())),
'formated_price' => core()->currency($this->evaluatePrice($this->getMinimalPrice())),
]
],
],
'to' => [
'to' => [
'regular_price' => [
'price' => core()->convertPrice($this->evaluatePrice($this->getRegularMaximamPrice())),
'formated_price' => core()->currency($this->evaluatePrice($this->getRegularMaximamPrice())),
@ -380,13 +383,13 @@ class Bundle extends AbstractType
'final_price' => [
'price' => core()->convertPrice($this->evaluatePrice($this->getMaximamPrice())),
'formated_price' => core()->currency($this->evaluatePrice($this->getMaximamPrice())),
]
]
],
],
];
}
/**
* Get bundle product special price
* Get bundle product special price.
*
* @return boolean
*/
@ -405,7 +408,7 @@ class Bundle extends AbstractType
}
/**
* Get product minimal price
* Get product minimal price.
*
* @return string
*/
@ -415,19 +418,19 @@ class Bundle extends AbstractType
$priceHtml = '';
if ($this->checkBundleProductHaveSpecialPrice())
if ($this->checkBundleProductHaveSpecialPrice()) {
$priceHtml .= '<div class="sticker sale">' . trans('shop::app.products.sale') . '</div>';
}
$priceHtml .= '<div class="price-from">';
if ($prices['from']['regular_price']['price'] != $prices['from']['final_price']['price']) {
$priceHtml .= '<span class="bundle-regular-price">' . $prices['from']['regular_price']['formated_price'] . '</span>'
. '<span class="bundle-special-price">' . $prices['from']['final_price']['formated_price'] . '</span>';
. '<span class="bundle-special-price">' . $prices['from']['final_price']['formated_price'] . '</span>';
} else {
$priceHtml .= '<span>' . $prices['from']['regular_price']['formated_price'] . '</span>';
}
if ($prices['from']['regular_price']['price'] != $prices['to']['regular_price']['price']
|| $prices['from']['final_price']['price'] != $prices['to']['final_price']['price']
) {
@ -435,7 +438,7 @@ class Bundle extends AbstractType
if ($prices['to']['regular_price']['price'] != $prices['to']['final_price']['price']) {
$priceHtml .= '<span class="bundle-regular-price">' . $prices['to']['regular_price']['formated_price'] . '</span>'
. '<span class="bundle-special-price">' . $prices['to']['final_price']['formated_price'] . '</span>';
. '<span class="bundle-special-price">' . $prices['to']['final_price']['formated_price'] . '</span>';
} else {
$priceHtml .= '<span>' . $prices['to']['regular_price']['formated_price'] . '</span>';
}
@ -552,6 +555,7 @@ class Bundle extends AbstractType
}
/**
* Compare options.
*
* @param array $options1
* @param array $options2
@ -564,17 +568,20 @@ class Bundle extends AbstractType
}
if (isset($options1['bundle_options']) && isset($options2['bundle_options'])) {
return $options1['bundle_options'] == $options2['bundle_options']
&& $options1['bundle_option_qty'] == $this->getOptionQuantities($options2);
} elseif (! isset($options1['bundle_options'])) {
return $options1['bundle_options'] == $options2['bundle_options'] && $options1['bundle_option_qty'] == $this->getOptionQuantities($options2);
}
if (! isset($options1['bundle_options'])) {
return false;
} elseif (! isset($options2['bundle_options'])) {
}
if (! isset($options2['bundle_options'])) {
return false;
}
}
/**
* Remove invalid options from add to cart request
* Remove invalid options from add to cart request.
*
* @param array $data
* @return array
@ -585,7 +592,7 @@ class Bundle extends AbstractType
if (is_array($value)) {
$data[$key] = $this->validateBundleOptionForCart($value);
} elseif ($value && $value) {
$data[$key] = (int)$value;
$data[$key] = (int) $value;
} else {
unset($data[$key]);
}
@ -595,7 +602,7 @@ class Bundle extends AbstractType
}
/**
* Returns additional information for items
* Returns additional information for items.
*
* @param array $data
* @return array
@ -628,7 +635,7 @@ class Bundle extends AbstractType
$label = $qty . ' x ' . $optionProduct->product->name;
$price = $optionProduct->product->getTypeInstance()->getMinimalPrice();
if($price != 0){
if ($price != 0) {
$label .= ' ' . core()->currency($price);
}
@ -650,7 +657,7 @@ class Bundle extends AbstractType
}
/**
* Returns additional information for items
* Returns additional information for items.
*
* @param array $data
* @return array
@ -681,10 +688,9 @@ class Bundle extends AbstractType
}
/**
* Validate cart item product price and other things
*
* @param \Webkul\Checkout\Models\CartItem $item
* Validate cart item product price and other things.
*
* @param \Webkul\Checkout\Models\CartItem $item
* @return \Webkul\Product\Datatypes\CartItemValidationResult
*/
public function validateCartItem(CartItem $item): CartItemValidationResult
@ -732,17 +738,23 @@ class Bundle extends AbstractType
}
/**
* get product options
* Get product options.
*
* @param object $product
* @return mixed
*/
public function getProductOptions($product = "")
public function getProductOptions($product = '')
{
$bundleOption = app('Webkul\Product\Helpers\BundleOption');
$options = $bundleOption->getProductOptions($product);
return $options;
}
/**
* Have sufficient quantity.
*
* @param int $qty
* @return bool
*/

View File

@ -33,11 +33,11 @@ class Configurable extends AbstractType
*/
protected $additionalViews = [
'admin::catalog.products.accordians.images',
'admin::catalog.products.accordians.videos',
'admin::catalog.products.accordians.categories',
'admin::catalog.products.accordians.variations',
'admin::catalog.products.accordians.channels',
'admin::catalog.products.accordians.product-links',
'admin::catalog.products.accordians.videos',
];
/**
@ -347,7 +347,7 @@ class Configurable extends AbstractType
* Fill required fields.
*
* @param array $data
* @param int $id
* @param int $id
* @return \Webkul\Product\Contracts\Product
*/
public function fillRequiredFields(array $data): array
@ -365,7 +365,7 @@ class Configurable extends AbstractType
/**
* Check variant option availability.
*
* @param array $data
* @param array $data
* @param \Webkul\Product\Contracts\Product $product
* @return bool
*/
@ -653,9 +653,13 @@ class Configurable extends AbstractType
if (isset($options1['selected_configurable_option']) && isset($options2['selected_configurable_option'])) {
return $options1['selected_configurable_option'] === $options2['selected_configurable_option'];
} elseif (! isset($options1['selected_configurable_option'])) {
}
if (! isset($options1['selected_configurable_option'])) {
return false;
} elseif (! isset($options2['selected_configurable_option'])) {
}
if (! isset($options2['selected_configurable_option'])) {
return false;
}
}

View File

@ -16,56 +16,58 @@ use Webkul\Product\Repositories\ProductVideoRepository;
class Downloadable extends AbstractType
{
/**
* ProductDownloadableLinkRepository instance
* Product downloadable link repository instance.
*
* @var \Webkul\Product\Repositories\ProductDownloadableLinkRepository
*/
protected $productDownloadableLinkRepository;
/**
* ProductDownloadableSampleRepository instance
* Product downloadable sample repository instance.
*
* @var \Webkul\Product\Repositories\ProductDownloadableSampleRepository
*/
protected $productDownloadableSampleRepository;
/**
* Skip attribute for downloadable product type
* Skip attribute for downloadable product type.
*
* @var array
*/
protected $skipAttributes = ['length', 'width', 'height', 'weight', 'guest_checkout'];
/**
* These blade files will be included in product edit page
* These blade files will be included in product edit page.
*
* @var array
*/
protected $additionalViews = [
'admin::catalog.products.accordians.images',
'admin::catalog.products.accordians.videos',
'admin::catalog.products.accordians.categories',
'admin::catalog.products.accordians.downloadable',
'admin::catalog.products.accordians.channels',
'admin::catalog.products.accordians.product-links',
'admin::catalog.products.accordians.videos',
];
/**
* Is a stokable product type
* Is a stokable product type.
*
* @var bool
*/
protected $isStockable = false;
/**
* Show quantity box
* Show quantity box.
*
* @var bool
*/
protected $allowMultipleQty = false;
/**
* getProductOptions
* Get product options.
*
* @var array
*/
protected $getProductOptions = [];
@ -80,7 +82,6 @@ class Downloadable extends AbstractType
* @param \Webkul\Product\Repositories\ProductDownloadableLinkRepository $productDownloadableLinkRepository
* @param \Webkul\Product\Repositories\ProductDownloadableSampleRepository $productDownloadableSampleRepository
* @param \Webkul\Product\Repositories\ProductVideoRepository $productVideoRepository
*
* @return void
*/
public function __construct(
@ -92,8 +93,7 @@ class Downloadable extends AbstractType
ProductDownloadableLinkRepository $productDownloadableLinkRepository,
ProductDownloadableSampleRepository $productDownloadableSampleRepository,
ProductVideoRepository $productVideoRepository
)
{
) {
parent::__construct(
$attributeRepository,
$productRepository,
@ -109,13 +109,14 @@ class Downloadable extends AbstractType
}
/**
* @param array $data
* @param int $id
* @param string $attribute
* Update.
*
* @param array $data
* @param int $id
* @param string $attribute
* @return \Webkul\Product\Contracts\Product
*/
public function update(array $data, $id, $attribute = "id")
public function update(array $data, $id, $attribute = 'id')
{
$product = parent::update($data, $id, $attribute);
$route = request()->route() ? request()->route()->getName() : '';
@ -130,7 +131,7 @@ class Downloadable extends AbstractType
}
/**
* Return true if this product type is saleable
* Return true if this product type is saleable.
*
* @return bool
*/
@ -153,14 +154,13 @@ class Downloadable extends AbstractType
}
/**
* Returns validation rules
* Returns validation rules.
*
* @return array
*/
public function getTypeValidationRules()
{
return [
// 'downloadable_links.*.title' => 'required',
'downloadable_links.*.type' => 'required',
'downloadable_links.*.file' => 'required_if:type,==,file',
'downloadable_links.*.file_name' => 'required_if:type,==,file',
@ -173,8 +173,7 @@ class Downloadable extends AbstractType
/**
* Add product. Returns error message if can't prepare product.
*
* @param array $data
*
* @param array $data
* @return array
*/
public function prepareForCart($data)
@ -200,10 +199,10 @@ class Downloadable extends AbstractType
}
/**
* Compare options.
*
* @param array $options1
* @param array $options2
*
* @param array $options1
* @param array $options2
* @return bool
*/
public function compareOptions($options1, $options2)
@ -214,18 +213,21 @@ class Downloadable extends AbstractType
if (isset($options1['links']) && isset($options2['links'])) {
return $options1['links'] === $options2['links'];
} elseif (! isset($options1['links'])) {
}
if (! isset($options1['links'])) {
return false;
} elseif (! isset($options2['links'])) {
}
if (! isset($options2['links'])) {
return false;
}
}
/**
* Returns additional information for items
*
* @param array $data
* Returns additional information for items.
*
* @param array $data
* @return array
*/
public function getAdditionalOptions($data)
@ -250,8 +252,7 @@ class Downloadable extends AbstractType
/**
* Validate cart item product price
*
* @param \Webkul\Checkout\Models\CartItem $item
*
* @param \Webkul\Checkout\Models\CartItem $item
* @return \Webkul\Product\Datatypes\CartItemValidationResult
*/
public function validateCartItem(CartItem $item): CartItemValidationResult
@ -292,7 +293,7 @@ class Downloadable extends AbstractType
}
/**
* Get product maximam price
* Get product maximum price
*
* @return float
*/

View File

@ -34,11 +34,11 @@ class Grouped extends AbstractType
*/
protected $additionalViews = [
'admin::catalog.products.accordians.images',
'admin::catalog.products.accordians.videos',
'admin::catalog.products.accordians.categories',
'admin::catalog.products.accordians.grouped-products',
'admin::catalog.products.accordians.channels',
'admin::catalog.products.accordians.product-links',
'admin::catalog.products.accordians.videos',
];
/**

View File

@ -5,17 +5,17 @@ namespace Webkul\Product\Type;
class Simple extends AbstractType
{
/**
* These blade files will be included in product edit page
* These blade files will be included in product edit page.
*
* @var array
*/
protected $additionalViews = [
'admin::catalog.products.accordians.inventories',
'admin::catalog.products.accordians.images',
'admin::catalog.products.accordians.videos',
'admin::catalog.products.accordians.categories',
'admin::catalog.products.accordians.channels',
'admin::catalog.products.accordians.product-links',
'admin::catalog.products.accordians.videos',
];
/**
@ -52,6 +52,8 @@ class Simple extends AbstractType
}
/**
* Have sufficient quantity.
*
* @param int $qty
* @return bool
*/
@ -59,13 +61,13 @@ class Simple extends AbstractType
{
$backorders = core()->getConfigData('catalog.inventory.stock_options.backorders');
$backorders = ! is_null ($backorders) ? $backorders : false;
$backorders = ! is_null($backorders) ? $backorders : false;
return $qty <= $this->totalQuantity() ? true : $backorders;
}
/**
* Get product maximam price
* Get product maximum price.
*
* @return float
*/

View File

@ -5,42 +5,42 @@ namespace Webkul\Product\Type;
class Virtual extends AbstractType
{
/**
* Skip attribute for virtual product type
* Skip attribute for virtual product type.
*
* @var array
*/
protected $skipAttributes = ['length', 'width', 'height', 'weight'];
/**
* These blade files will be included in product edit page
* These blade files will be included in product edit page.
*
* @var array
*/
protected $additionalViews = [
'admin::catalog.products.accordians.inventories',
'admin::catalog.products.accordians.images',
'admin::catalog.products.accordians.videos',
'admin::catalog.products.accordians.categories',
'admin::catalog.products.accordians.channels',
'admin::catalog.products.accordians.product-links',
'admin::catalog.products.accordians.videos',
];
/**
* Is a stokable product type
* Is a stokable product type.
*
* @var bool
*/
protected $isStockable = false;
/**
* Show quantity box
* Show quantity box.
*
* @var bool
*/
protected $showQuantityBox = true;
/**
* Return true if this product type is saleable
* Return true if this product type is saleable.
*
* @return bool
*/
@ -63,8 +63,9 @@ class Virtual extends AbstractType
}
/**
* @param int $qty
* Have sufficient quantity.
*
* @param int $qty
* @return bool
*/
public function haveSufficientQuantity(int $qty): bool
@ -73,7 +74,7 @@ class Virtual extends AbstractType
}
/**
* Get product maximam price
* Get product maximum price.
*
* @return float
*/