Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
joshine
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
joshine
Commits
5c3589ce
Commit
5c3589ce
authored
May 04, 2023
by
liumengfei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' into production
parents
64ff28a6
4cb5a579
Show whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
1172 additions
and
862 deletions
+1172
-862
app/code/Joshine/Banner/view/adminhtml/ui_component/joshine_banner_index_form.xml
+31
-0
app/code/Joshine/Banner/view/adminhtml/ui_component/joshine_banner_index_listing.xml
+0
-13
app/code/Joshine/Review/view/frontend/templates/product/view/list.phtml
+58
-63
app/code/Joshine/Script/Console/Command/ReviewsImporter.php
+10
-14
app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml
+1
-1
app/code/Magento/Checkout/view/frontend/templates/cart/form.phtml
+6
-230
app/code/Magento/Checkout/view/frontend/templates/cart/methods-new.phtml
+2
-1
app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js
+1
-0
app/design/frontend/Joshine/breeze/Magento_Catalog/layout/catalog_product_view.xml
+2
-1
app/design/frontend/Joshine/breeze/Magento_Catalog/templates/product/free_shipping.phtml
+14
-12
app/design/frontend/Joshine/breeze/Magento_Catalog/templates/product/view/addto.phtml
+74
-19
app/design/frontend/Joshine/breeze/Magento_Catalog/templates/product/view/addtocart.phtml
+42
-1
app/design/frontend/Joshine/breeze/Magento_Catalog/web/css/gallery.css
+2
-2
app/design/frontend/Joshine/breeze/Magento_Checkout/layout/checkout_cart_index.xml
+22
-42
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/coupon.phtml
+8
-13
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/form.phtml
+159
-0
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/item/default.phtml
+28
-313
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/methods.phtml
+53
-0
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/minicart.phtml
+1
-1
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/totals.phtml
+50
-0
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/onepage/link.phtml
+8
-4
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/minicart/content.html
+21
-21
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/minicart/item/default.html
+25
-3
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/minicart/subtotal.html
+7
-4
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/summary/cart-items.html
+1
-1
app/design/frontend/Joshine/breeze/Magento_Paypal/templates/express/shortcut.phtml
+18
-11
app/design/frontend/Joshine/breeze/Magento_Search/templates/form.mini.phtml
+0
-16
app/design/frontend/Joshine/breeze/Magento_Swatches/web/js/swatch-renderer.js
+2
-2
app/design/frontend/Joshine/breeze/etc/view.xml
+3
-3
app/design/frontend/Joshine/breeze/web/css/_custom.less
+403
-67
app/design/frontend/Joshine/breeze/web/css/_joshine_utils.less
+39
-0
app/design/frontend/Joshine/breeze/web/css/_theme.less
+64
-0
app/design/frontend/Joshine/breeze/web/fonts/cyrillic-ext-montserrat.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/cyrillic-montserrat.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/devanagari-poppins.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/latin-ext-montserrat.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/latin-ext-popoins.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/latin-montserrat.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/latin-popoins.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/fonts/vietnamese-montserrat.woff2
+0
-0
app/design/frontend/Joshine/breeze/web/images/cursor-zoom-in.svg
+7
-0
lib/web/mage/gallery/gallery.html
+1
-1
pub/.htaccess
+5
-2
pub/health_check.php
+3
-0
vendor/swissup/theme-frontend-breeze-blank/web/css/abstracts/variables/_base.less
+1
-1
No files found.
app/code/Joshine/Banner/view/adminhtml/ui_component/joshine_banner_index_form.xml
View file @
5c3589ce
...
@@ -112,6 +112,34 @@
...
@@ -112,6 +112,34 @@
</field>
</field>
<field
name=
"storeviews"
formElement=
"multiselect"
class=
"Magento\Store\Ui\Component\Form\Field\StoreView"
>
<argument
name=
"data"
xsi:type=
"array"
>
<item
name=
"config"
xsi:type=
"array"
>
<item
name=
"source"
xsi:type=
"string"
>
block
</item>
<item
name=
"default"
xsi:type=
"number"
>
0
</item>
</item>
</argument>
<settings>
<validation>
<rule
name=
"required-entry"
xsi:type=
"boolean"
>
true
</rule>
</validation>
<dataType>
int
</dataType>
<tooltip>
<link>
https://docs.magento.com/user-guide/configuration/scope.html
</link>
<description>
What is this?
</description>
</tooltip>
<label
translate=
"true"
>
Store View
</label>
<dataScope>
store_id
</dataScope>
</settings>
<formElements>
<multiselect>
<settings>
<options
class=
"Magento\Cms\Ui\Component\Listing\Column\Cms\Options"
/>
</settings>
</multiselect>
</formElements>
</field>
<field
name=
"url"
sortOrder=
"30"
formElement=
"input"
>
<field
name=
"url"
sortOrder=
"30"
formElement=
"input"
>
<argument
name=
"data"
xsi:type=
"array"
>
<argument
name=
"data"
xsi:type=
"array"
>
...
@@ -195,4 +223,6 @@
...
@@ -195,4 +223,6 @@
</fieldset>
</fieldset>
</form>
</form>
\ No newline at end of file
app/code/Joshine/Banner/view/adminhtml/ui_component/joshine_banner_index_listing.xml
View file @
5c3589ce
...
@@ -95,19 +95,6 @@
...
@@ -95,19 +95,6 @@
</argument>
</argument>
</column>
</column>
<column
name=
"desc"
>
<argument
name=
"data"
xsi:type=
"array"
>
<item
name=
"config"
xsi:type=
"array"
>
<item
name=
"filter"
xsi:type=
"string"
>
text
</item>
<item
name=
"label"
xsi:type=
"string"
translate=
"true"
>
Description
</item>
<item
name=
"resizeEnabled"
xsi:type=
"boolean"
>
true
</item>
<item
name=
"resizeDefaultWidth"
xsi:type=
"string"
>
60
</item>
<item
name=
"fieldClass"
xsi:type=
"string"
>
col3
</item>
</item>
</argument>
</column>
<column
name=
"url"
>
<column
name=
"url"
>
<argument
name=
"data"
xsi:type=
"array"
>
<argument
name=
"data"
xsi:type=
"array"
>
<item
name=
"config"
xsi:type=
"array"
>
<item
name=
"config"
xsi:type=
"array"
>
...
...
app/code/Joshine/Review/view/frontend/templates/product/view/list.phtml
View file @
5c3589ce
...
@@ -19,14 +19,28 @@ $count = $block->getReviewsCount();
...
@@ -19,14 +19,28 @@ $count = $block->getReviewsCount();
$t
=
[
1
=>
__
(
'Small'
)
,
2
=>
__
(
'True to Size'
)
,
3
=>
__
(
'Large'
)];
$t
=
[
1
=>
__
(
'Small'
)
,
2
=>
__
(
'True to Size'
)
,
3
=>
__
(
'Large'
)];
$imagesBlock
=
$helper
->
getReviewImagesBlock
(
15
,
$block
->
getProductId
());
$imagesBlock
=
$helper
->
getReviewImagesBlock
(
15
,
$block
->
getProductId
());
?>
?>
<div
class=
"block review-list joshine-clearfix"
id=
"customer-reviews"
>
<style>
.review-item-head
{
display
:
flex
;
justify-content
:
space-between
;
}
.review-item-head-item
{
display
:
flex
;
}
.review-item-head-item
.joshine-review-nickname
{
margin-right
:
10px
;
}
.ave-rate
+
*
{
margin
:
0
!important
;
}
</style>
<div
class=
"block review-list joshine-clearfix"
id=
"customer-reviews"
>
<div
class=
"joshine-review-container joshine-clearfix joshine-hidden-md joshine-hidden-sm joshine-hidden-xs"
>
<div
class=
"joshine-review-container joshine-clearfix joshine-hidden-md joshine-hidden-sm joshine-hidden-xs"
>
<h1
class=
"joshine-review-title"
>
<h1
class=
"joshine-review-title"
>
<?=
__
(
"Customer Reviews"
)
?>
<?=
__
(
"Customer Reviews"
)
?>
...
@@ -38,8 +52,8 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
...
@@ -38,8 +52,8 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
<?=
__
(
"Average Rating"
)
?>
<?=
__
(
"Average Rating"
)
?>
</div>
</div>
<div
class=
"ave-rate"
>
<div
class=
"ave-rate"
>
<div
class=
"
joshine-rating-container
"
>
<div
class=
"
rating-result -lg
"
>
<
div
class=
"joshine-rating-starts"
style=
"width:
<?=
$rating
?>
%;"
></div
>
<
span
style=
"width:
<?=
$rating
?>
%;"
></span
>
</div>
</div>
<div
class=
"ave-rate-total"
>
<?=
$block
->
getRatingSummaryValue
()
?>
</div>
<div
class=
"ave-rate-total"
>
<?=
$block
->
getRatingSummaryValue
()
?>
</div>
</div>
</div>
...
@@ -60,15 +74,14 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
...
@@ -60,15 +74,14 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
</div>
</div>
<?php
endforeach
;
?>
<?php
endforeach
;
?>
</div>
</div>
<div
class=
"joshine-review-item add-new-box"
>
<div
class=
"joshine-review-item"
>
<a
href=
"#review-form"
title=
"Write a review"
class=
"add-new-button joshine-btn joshine-btn-dark joshine-review-add-btn"
>
<div
class=
"add-new-box"
>
<?=
__
(
"Write a review"
)
?>
<div
class=
"primary actions-primary"
>
</a>
<a
href=
"#review-form"
class=
"action submit primary joshine-review-add-btn"
style=
"background-color: #000; margin-left: 25%;"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Write a review'
))
?>
</span></a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 筛选框 -->
<?=
$helper
->
getToolBarHtML
()
?>
<div
class=
"joshine-review-list joshine-clearfix"
>
<div
class=
"joshine-review-list joshine-clearfix"
>
<?php
if
(
count
(
$_items
)
>
0
)
:
?>
<?php
if
(
count
(
$_items
)
>
0
)
:
?>
...
@@ -88,21 +101,20 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
...
@@ -88,21 +101,20 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
<div
class=
"joshine-review-des-title joshine-font-size-default joshine-font-c-deepin"
>
<div
class=
"joshine-review-des-title joshine-font-size-default joshine-font-c-deepin"
>
<?=
$block
->
escapeHtml
(
$review
->
getTitle
())
?>
<?=
$block
->
escapeHtml
(
$review
->
getTitle
())
?>
</div>
</div>
<div
class=
"
joshine-rating-container joshine-rating-small
"
>
<div
class=
"
rating-result
"
>
<?php
if
(
count
(
$review
->
getRatingVotes
()))
:
?>
<?php
if
(
count
(
$review
->
getRatingVotes
()))
:
?>
<?php
foreach
(
$review
->
getRatingVotes
()
as
$_vote
)
:
?>
<?php
foreach
(
$review
->
getRatingVotes
()
as
$_vote
)
:
?>
<
div
class=
"joshine-rating-starts"
style=
"width:
<?=
$block
->
escapeHtml
(
$_vote
->
getPercent
())
?>
%;"
></div
>
<
span
style=
"width:
<?=
$block
->
escapeHtml
(
$_vote
->
getPercent
())
?>
%;"
></span
>
<?php
endforeach
;
?>
<?php
endforeach
;
?>
<?php
endif
;
?>
<?php
endif
;
?>
</div>
</div>
<div
class=
"joshine-review-des joshine-font-c-darkgray"
>
<div
class=
"joshine-review-des"
>
<?=
$block
->
escapeHtml
(
$review
->
getDetail
());
?>
<?=
$block
->
escapeHtml
(
$review
->
getDetail
());
?>
</div>
</div>
<div
class=
"
joshine-foot-mark rate-fi
t"
>
<div
class=
"
rate-fit joshine-font-c-darkgray joshine-font-tex
t"
>
<div
class=
"rate-fit-item"
>
<div
class=
"rate-fit-item"
>
<?php
$fitsValue
=
$review
->
getSizeFits
();
?>
<?php
$fitsValue
=
$review
->
getSizeFits
();
?>
<span><strong
class=
"joshine-font-w-bolder"
>
<?=
__
(
"Size Fits"
)
?>
:
</strong>
<?=
$helper
->
translateSizeFits
(
$fitsValue
);
?>
</span>
<span><strong>
<?=
__
(
"Size Fits"
)
?>
:
</strong>
<?=
$helper
->
translateSizeFits
(
$fitsValue
);
?>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -132,67 +144,54 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
...
@@ -132,67 +144,54 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
</div>
</div>
<div
class=
"joshine-review-container-mobile joshine-hidden-lg"
>
<div
class=
"joshine-review-container-mobile joshine-hidden-lg"
>
<h
4
class=
"joshine-review-title joshine-font-w-bolder"
>
<h
5
class=
"joshine-review-title joshine-font-w-bolder"
>
<?=
__
(
"Customer Reviews"
)
?>
<?=
__
(
"Customer Reviews"
)
?>
</h
4
>
</h
5
>
<div
class=
"joshine-review"
>
<div
class=
"joshine-review"
>
<div
class=
"joshine-review-averate joshine-bg-silver joshine-clearfix"
>
<div
class=
"joshine-review-averate joshine-bg-silver joshine-clearfix"
style=
"margin-bottom: 1em;"
>
<div
class=
"joshine-review-item joshine-review-rating-box"
>
<div
class=
"joshine-review-item joshine-review-rating-box"
>
<div
class=
"name"
>
<div
class=
"name"
>
<?=
__
(
"Average Rating"
)
?>
<?=
__
(
"Average Rating"
)
?>
</div>
</div>
<div
class=
"ave-rate row"
>
<div
style=
"display: flex; justify-content: space-between;"
>
<div
class=
"joshine-rating-container joshine-col-xs-8"
>
<div
class=
"ave-rate"
>
<div
class=
"joshine-rating-starts"
style=
"width:
<?=
$rating
?>
%;"
></div>
<div
class=
"rating-result -lg"
>
</div>
<span
style=
"width:
<?=
$rating
?>
%;"
></span>
<h2
class=
"ave-rate-total"
style=
"margin-top: 0; margin-bottom: .35em; margin-left: .4em"
>
<?=
$block
->
getRatingSummaryValue
()
?>
</h2>
</div>
</div>
<div
class=
"joshine-review-item"
>
<div
class=
"name"
>
<?=
__
(
"Did the item fit well?"
)
?>
</div>
<?php
foreach
(
$block
->
getDetailedSummary
()
as
$key
=>
$detail
)
:
?>
<div
class=
"fit-item"
>
<span
class=
"fit-name joshine-font-mini"
>
<?=
$t
[
$key
]
?>
</span>
<div
class=
"joshine-process"
>
<div
class=
"joshine-process-active"
style=
"width:
<?=
/* @noEscape */
$count
?
round
(
$detail
/
$count
*
100
)
:
0
?>
%;"
></div>
</div>
</div>
<?php
endforeach
;
?>
</div>
</div>
<h4
class=
"ave-rate-total"
style=
"margin:0;"
>
<?=
$block
->
getRatingSummaryValue
()
?>
</h4>
</div>
</div>
<div
class=
"joshine-review-item add-new-box"
>
<div
class=
"joshine-review-item add-new-box"
>
<a
href=
"#review-form"
title=
"Write a review"
class=
"add-new-button joshine-btn joshine-btn-dark joshine-review-add-btn"
>
<a
href=
"#review-form"
title=
"Write a review"
class=
"add-new-button joshine-btn joshine-btn-dark joshine-review-add-btn"
>
<?=
__
(
"Write a review"
)
?>
<?=
__
(
"Write a review"
)
?>
</a>
</a>
</div>
</div>
</div>
</div>
</div>
<div
class=
"joshine-review-list joshine-clearfix"
>
<div
class=
"joshine-review-list joshine-clearfix"
>
<?php
if
(
count
(
$_items
)
>
0
)
:
?>
<?php
if
(
count
(
$_items
)
>
0
)
:
?>
<?php
foreach
(
$_items
as
$review
)
:
?>
<?php
foreach
(
$_items
as
$review
)
:
?>
<div
class=
"joshine-review-list-item row joshine-clearfix"
>
<div
class=
"joshine-review-list-item row joshine-clearfix"
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"review-item-head"
>
<div
class=
"review-item-head-item"
>
<span
class=
"joshine-review-nickname"
style=
"font-size: .9em;"
>
<span
class=
"joshine-review-nickname"
style=
"font-size: .9em;"
>
<?=
$block
->
escapeHtml
(
$review
->
getNickname
())
?>
<?=
$block
->
escapeHtml
(
$review
->
getNickname
())
?>
</span>
</span>
<div
class=
"rating-result"
>
<span
class=
"joshine-review-date joshine-font-c-darkgray joshine-font-mini-plus"
>
<?=
$block
->
escapeHtml
(
$block
->
formatDate
(
$review
->
getCreatedAt
(),
$format
))
?>
</span>
</div>
<div
class=
"row"
>
<div
class=
"joshine-rating-container joshine-rating-small joshine-col-xs-8"
>
<?php
if
(
count
(
$review
->
getRatingVotes
()))
:
?>
<?php
if
(
count
(
$review
->
getRatingVotes
()))
:
?>
<?php
foreach
(
$review
->
getRatingVotes
()
as
$_vote
)
:
?>
<?php
foreach
(
$review
->
getRatingVotes
()
as
$_vote
)
:
?>
<div
class=
"joshine-rating-starts"
style=
"width:
<?=
$block
->
escapeHtml
(
$_vote
->
getPercent
())
?>
%;"
></div
>
<span
style=
"width:
<?=
$block
->
escapeHtml
(
$_vote
->
getPercent
())
?>
%;"
></span
>
<?php
endforeach
;
?>
<?php
endforeach
;
?>
<?php
endif
;
?>
<?php
endif
;
?>
</div>
</div>
<div
class=
"joshine-pull-right"
>
</div>
<div
class=
"joshine-flex"
>
<span
class=
"joshine-review-date joshine-font-c-darkgray joshine-font-mini-plus"
>
<?=
$block
->
escapeHtml
(
$block
->
formatDate
(
$review
->
getCreatedAt
(),
$format
))
?>
</span>
<div
class=
"joshine-review-helpful joshine-font-c-darkgray joshine-font-text"
>
<div
class=
"joshine-review-helpful joshine-font-c-darkgray joshine-font-text"
>
<span
class=
"joshine-like
<?=
$block
->
getPlusVotedClass
(
$review
->
getId
());
?>
"
data-review-id=
"
<?=
$review
->
getId
();
?>
"
>
<span
class=
"joshine-like
<?=
$block
->
getPlusVotedClass
(
$review
->
getId
());
?>
"
data-review-id=
"
<?=
$review
->
getId
();
?>
"
>
<input
name=
"form_key"
type=
"hidden"
value=
"
<?=
/* @noEscape */
$block
->
getFormKey
();
?>
"
/>
<input
name=
"form_key"
type=
"hidden"
value=
"
<?=
/* @noEscape */
$block
->
getFormKey
();
?>
"
/>
...
@@ -201,23 +200,19 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
...
@@ -201,23 +200,19 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"row joshine-foot-mark"
>
<?php
$fitsValue
=
$review
->
getSizeFits
();
?>
<span><strong
class=
"joshine-font-w-bolder"
>
<?=
__
(
"Size Fits"
)
?>
:
</strong>
<?=
$helper
->
translateSizeFits
(
$fitsValue
);
?>
</span>
</div>
<div
class=
"row joshine-font-w-bolder"
style=
"font-size: .9em;"
>
<?=
$block
->
escapeHtml
(
$review
->
getTitle
());
?>
</div>
</div>
<div
class=
"row joshine-font-c-darkgray joshine-font-text"
>
<div
class=
"row joshine-font-c-darkgray"
style=
"font-size: .8em;"
>
<?=
$block
->
escapeHtml
(
$review
->
getDetail
());
?>
<?=
$block
->
escapeHtml
(
$review
->
getDetail
());
?>
</div>
</div>
<div
class=
"row joshine-review-pics"
>
<div
class=
"row joshine-review-pics"
style=
"margin: .5em .5em .5em 0;"
>
<?=
/* @noEscape */
$helper
->
getReviewImagesHtml
(
$review
->
getId
(),
$block
->
getProductId
())
?>
<?=
/* @noEscape */
$helper
->
getReviewImagesHtml
(
$review
->
getId
(),
$block
->
getProductId
())
?>
</div>
</div>
<div
class=
"row joshine-font-c-darkgray joshine-font-text"
>
<?php
$fitsValue
=
$review
->
getSizeFits
();
?>
<span><strong>
<?=
__
(
"Size Fits"
)
?>
:
</strong>
<?=
$helper
->
translateSizeFits
(
$fitsValue
);
?>
</span>
</div>
</div>
</div>
<hr>
<hr>
<?php
endforeach
;
?>
<?php
endforeach
;
?>
...
...
app/code/Joshine/Script/Console/Command/ReviewsImporter.php
View file @
5c3589ce
...
@@ -14,6 +14,7 @@ use Magento\Framework\Exception\NoSuchEntityException;
...
@@ -14,6 +14,7 @@ use Magento\Framework\Exception\NoSuchEntityException;
use
Magento\Framework\File\Csv
;
use
Magento\Framework\File\Csv
;
use
Magento\Framework\ObjectManager\ObjectManager
;
use
Magento\Framework\ObjectManager\ObjectManager
;
use
Magento\Setup\Exception
;
use
Magento\Setup\Exception
;
use
Magento\Store\Model\App\Emulation
;
use
Symfony\Component\Console\Command\Command
;
use
Symfony\Component\Console\Command\Command
;
use
Symfony\Component\Console\Input\InputInterface
;
use
Symfony\Component\Console\Input\InputInterface
;
use
Symfony\Component\Console\Input\InputOption
;
use
Symfony\Component\Console\Input\InputOption
;
...
@@ -166,12 +167,12 @@ class ReviewsImporter extends Command
...
@@ -166,12 +167,12 @@ class ReviewsImporter extends Command
return
;
return
;
}
}
$store
I
d
=
$input
->
getOption
(
'store_id'
);
$store
_i
d
=
$input
->
getOption
(
'store_id'
);
if
(
!
$store
I
d
)
{
if
(
!
$store
_i
d
)
{
$output
->
writeln
(
$this
->
errorWrapper
(
"store_id没填"
));
$output
->
writeln
(
$this
->
errorWrapper
(
"store_id没填"
));
return
;
return
;
}
}
$this
->
storeId
=
$store
I
d
;
$this
->
storeId
=
$store
_i
d
;
$this
->
importCsvFile
(
$path
);
$this
->
importCsvFile
(
$path
);
}
catch
(
\Exception
$e
)
{
}
catch
(
\Exception
$e
)
{
$output
->
writeln
(
$this
->
errorWrapper
(
$e
->
getMessage
()));
$output
->
writeln
(
$this
->
errorWrapper
(
$e
->
getMessage
()));
...
@@ -192,6 +193,7 @@ class ReviewsImporter extends Command
...
@@ -192,6 +193,7 @@ class ReviewsImporter extends Command
private
function
insertDB
(
$data
)
private
function
insertDB
(
$data
)
{
{
$objectManager
=
\Magento\Framework\App\ObjectManager
::
getInstance
();
$objectManager
=
\Magento\Framework\App\ObjectManager
::
getInstance
();
$reviewFactory
=
$objectManager
->
get
(
"Magento\Review\Model\ReviewFactory"
);
$reviewFactory
=
$objectManager
->
get
(
"Magento\Review\Model\ReviewFactory"
);
$ratingFactory
=
$objectManager
->
get
(
"Magento\Review\Model\RatingFactory"
);
$ratingFactory
=
$objectManager
->
get
(
"Magento\Review\Model\RatingFactory"
);
...
@@ -319,21 +321,15 @@ class ReviewsImporter extends Command
...
@@ -319,21 +321,15 @@ class ReviewsImporter extends Command
$review
[
'size_fits'
]
=
trim
(
$row
[
6
]);
$review
[
'size_fits'
]
=
trim
(
$row
[
6
]);
$review
[
'date'
]
=
trim
(
$row
[
7
]);
$review
[
'date'
]
=
trim
(
$row
[
7
]);
if
(
empty
(
trim
(
$review
[
"sku"
]))
if
(
empty
(
trim
(
$review
[
"sku"
]))
||
empty
(
trim
(
$review
[
"detail"
])
||
empty
(
trim
(
$review
[
"detail"
])
)
||
empty
(
trim
(
$review
[
'nickname'
]))
||
empty
(
trim
(
$review
[
'nickname'
]))
||
empty
(
$review
[
'date'
])
||
empty
(
$review
[
'date'
])
||
empty
(
$review
[
'title'
])
||
empty
(
$review
[
'title'
]
||
empty
(
$review
[
'size_fits'
])
||
empty
(
$review
[
'ratings'
])
)
)
)
{
)
{
throw
new
\Exception
(
"表格数据有空:
{
$row
[
"name"
]
}
"
);
throw
new
\Exception
(
"表格数据有空!"
);
}
if
(
!
is_integer
(
$review
[
'size_fits'
]))
{
$review
[
'size_fits'
]
=
3
;
}
if
(
!
is_integer
(
$review
[
'ratings'
]))
{
$review
[
'ratings'
]
=
5
;
}
}
$data
[]
=
$review
;
$data
[]
=
$review
;
}
}
...
...
app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml
View file @
5c3589ce
...
@@ -176,7 +176,7 @@
...
@@ -176,7 +176,7 @@
</block>
</block>
</container>
</container>
<block
class=
"Magento\Checkout\Block\Cart\Coupon"
name=
"checkout.cart.coupon"
as=
"coupon"
template=
"Magento_Checkout::cart/coupon.phtml"
after=
"checkout.cart.summary.title"
/>
<block
class=
"Magento\Checkout\Block\Cart\Coupon"
name=
"checkout.cart.coupon"
as=
"coupon"
template=
"Magento_Checkout::cart/coupon.phtml"
after=
"checkout.cart.summary.title"
/>
<block
class=
"Magento\Checkout\Block\Cart"
name=
"checkout.cart.methods.bottom"
template=
"Magento_Checkout::cart/methods
-new
.phtml"
>
<block
class=
"Magento\Checkout\Block\Cart"
name=
"checkout.cart.methods.bottom"
template=
"Magento_Checkout::cart/methods.phtml"
>
<container
name=
"checkout.cart.methods"
as=
"methods"
label=
"Payment Methods After Checkout Button"
>
<container
name=
"checkout.cart.methods"
as=
"methods"
label=
"Payment Methods After Checkout Button"
>
<block
class=
"Magento\Checkout\Block\Onepage\Link"
name=
"checkout.cart.methods.onepage.bottom"
template=
"Magento_Checkout::onepage/link.phtml"
/>
<block
class=
"Magento\Checkout\Block\Onepage\Link"
name=
"checkout.cart.methods.onepage.bottom"
template=
"Magento_Checkout::onepage/link.phtml"
/>
<block
class=
"Magento\Checkout\Block\QuoteShortcutButtons"
name=
"checkout.cart.shortcut.buttons"
/>
<block
class=
"Magento\Checkout\Block\QuoteShortcutButtons"
name=
"checkout.cart.shortcut.buttons"
/>
...
...
app/code/Magento/Checkout/view/frontend/templates/cart/form.phtml
View file @
5c3589ce
...
@@ -7,130 +7,9 @@
...
@@ -7,130 +7,9 @@
// phpcs:disable Magento2.Templates.ThisInTemplate
// phpcs:disable Magento2.Templates.ThisInTemplate
/** @var $block \Magento\Checkout\Block\Cart\Grid */
/** @var $block \Magento\Checkout\Block\Cart\Grid */
$objectManager
=
\Magento\Framework\App\ObjectManager
::
getInstance
();
$_cart
=
$objectManager
->
get
(
'\Magento\Checkout\Model\Cart'
);
$items
=
[];
$priceSum
=
0
;
$_items
=
$block
->
getItems
();
if
(
count
(
$_items
)
>
0
)
{
foreach
(
$_items
as
$key
=>
$value
)
{
$_item
[
'google_business_vertical'
]
=
'retail'
;
$_item
[
'id'
]
=
$value
->
getSku
();
$items
[]
=
$_item
;
$priceSum
+=
$value
->
getPrice
()
*
$value
->
getQty
();
}
}
$subtotal
=
$_cart
->
getSubtotal
();
$_shipping
=
$objectManager
->
get
(
'\Magento\Checkout\Block\Cart\Shipping'
);
$free_shipping_subtotal
=
$_shipping
->
getNoFormatFreeShippingSubtotal
();
$is_free_shipping
=
false
;
$difference_price
=
0
;
if
(
$subtotal
>=
$free_shipping_subtotal
)
{
$is_free_shipping
=
true
;
}
else
{
$difference_price
=
$free_shipping_subtotal
-
$subtotal
;
}
$mobileDetect
=
$objectManager
->
get
(
\Joshine\Common\Lib\MobileDetect\MobileDetect
::
class
);
?>
?>
<style>
.free_message
{
margin-left
:
.7rem
;
text-align
:
left
;
}
.free_message.tddiv
{
margin-left
:
1.3rem
;
}
.free-shipping-area
.cart-icon
{
float
:
left
;
}
.free-shipping-area
.content-wrap
{
float
:
left
;
}
.free-shipping-area
{
width
:
100%
!important
;
order
:
-3
;
padding
:
15px
;
background-color
:
#FFFFFF
;
color
:
#000
;
}
@media
(
min-width
:
768px
){
.free-shipping-area
{
padding
:
10px
10px
10px
20px
;
}
.area-blk-notitle
{
display
:
none
;
}
}
@media
(
max-width
:
768px
){
.free-shipping-area
{
padding
:
0px
;
}
.free-shipping-area
.content-wrap
{
padding
:
10px
0px
;
background-color
:
#f2f2f2
;
width
:
100%
;
}
.area-blk
{
display
:
none
;
}
.area-fix
{
position
:
fixed
;
left
:
0
;
z-index
:
1
;
border-top
:
1px
solid
#fff
;
}
.cart.table-wrapper
{
border-top
:
1px
solid
#ddd
;
}
}
</style>
<?php
$mergedCells
=
(
$this
->
helper
(
Magento\Tax\Helper\Data
::
class
)
->
displayCartBothPrices
()
?
2
:
1
);
?>
<?php
$mergedCells
=
(
$this
->
helper
(
Magento\Tax\Helper\Data
::
class
)
->
displayCartBothPrices
()
?
2
:
1
);
?>
<?=
$block
->
getChildHtml
(
'form_before'
)
?>
<?=
$block
->
getChildHtml
(
'form_before'
)
?>
<?php
if
(
!
$is_free_shipping
)
:
?>
<div
class=
"free-shipping-area area-blk"
>
<img
alt=
""
class=
"cart-icon"
src=
"/media/wysiwyg/free-shipping-cart.png"
>
<div
class=
"content-wrap"
>
<div
class=
"free_message"
>
<div
class=
"msg-title"
>
<p
style=
"font-weight: bold;"
>
<?=
$block
->
escapeHtml
(
__
(
'Shipping Fee'
))
?>
</p>
</div>
<div
class=
"msg-content"
>
<?=
$block
->
escapeHtml
(
__
(
'Spend'
))
?>
<span
style=
"color:#EB001B;font-size: 16px;font-weight: bold;"
>
<?=
$block
->
escapeHtml
(
$this
->
helper
(
Magento\Checkout\Helper\Data
::
class
)
->
formatPrice
(
$difference_price
),
[
'span'
]
)
?>
</span>
<?=
$block
->
escapeHtml
(
__
(
'more and get'
))
?>
<span
style=
"font-weight: bold;"
>
<?=
$block
->
escapeHtml
(
__
(
'FREE SHIPPING'
))
?>
</span>
!
</div>
</div>
</div>
</div>
<?php
endif
?>
<?php
if
(
!
$is_free_shipping
)
:
?>
<div
class=
"free-shipping-area area-blk-notitle"
>
<div
class=
"content-wrap"
>
<div
class=
"free_message"
>
<div
class=
"msg-content"
>
<?=
$block
->
escapeHtml
(
__
(
'Spend'
))
?>
<span
style=
"color:#EB001B;font-size: 18px;"
>
<?=
$block
->
escapeHtml
(
$this
->
helper
(
Magento\Checkout\Helper\Data
::
class
)
->
formatPrice
(
$difference_price
),
[
'span'
]
)
?>
</span>
<?=
$block
->
escapeHtml
(
__
(
' more and get'
))
?>
<span
style=
"font-weight: bold;"
>
<?=
$block
->
escapeHtml
(
__
(
'FREE SHIPPING'
))
?>
</span>
</div>
</div>
</div>
</div>
<?php
endif
?>
<?php
if
(
!
$mobileDetect
->
isMobile
())
:
?>
<form
action=
"
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/updatePost'
))
?>
"
<form
action=
"
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/updatePost'
))
?>
"
method=
"post"
method=
"post"
id=
"form-validate"
id=
"form-validate"
...
@@ -140,7 +19,6 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
...
@@ -140,7 +19,6 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
}'
}'
class=
"form form-cart"
>
class=
"form form-cart"
>
<?=
$block
->
getBlockHtml
(
'formkey'
)
?>
<?=
$block
->
getBlockHtml
(
'formkey'
)
?>
<div
class=
"cart table-wrapper
<?=
$mergedCells
==
2
?
' detailed'
:
''
?>
"
>
<div
class=
"cart table-wrapper
<?=
$mergedCells
==
2
?
' detailed'
:
''
?>
"
>
<?php
if
(
$block
->
getPagerHtml
())
:
?>
<?php
if
(
$block
->
getPagerHtml
())
:
?>
<div
class=
"cart-products-toolbar cart-products-toolbar-top toolbar"
<div
class=
"cart-products-toolbar cart-products-toolbar-top toolbar"
...
@@ -152,13 +30,14 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
...
@@ -152,13 +30,14 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
data-mage-init=
'{"shoppingCart":{"emptyCartButton": ".action.clear",
data-mage-init=
'{"shoppingCart":{"emptyCartButton": ".action.clear",
"updateCartActionContainer": "#update_cart_action_container"}}'
>
"updateCartActionContainer": "#update_cart_action_container"}}'
>
<caption
class=
"table-caption"
>
<?=
$block
->
escapeHtml
(
__
(
'Shopping Cart Items'
))
?>
</caption>
<caption
class=
"table-caption"
>
<?=
$block
->
escapeHtml
(
__
(
'Shopping Cart Items'
))
?>
</caption>
<thead>
<td
colspan=
"4"
><div
class=
"item-summary"
>
<?=
$block
->
escapeHtml
(
__
(
'Item Summary'
))
?>
</div></td></thead>
<thead>
<tr>
<tr>
<t
d
class=
"col item first"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Item'
))
?>
</span></td
>
<t
h
class=
"col item"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Item'
))
?>
</span></th
>
<t
d
class=
"col price"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Price'
))
?>
</span></td
>
<t
h
class=
"col price"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Price'
))
?>
</span></th
>
<t
d
class=
"col qty"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Qty'
))
?>
</span></td
>
<t
h
class=
"col qty"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Qty'
))
?>
</span></th
>
<t
d
class=
"col subtotal"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Subtotal'
))
?>
</span></td
>
<t
h
class=
"col subtotal"
scope=
"col"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Subtotal'
))
?>
</span></th
>
</tr>
</tr>
</thead>
<?php
foreach
(
$block
->
getItems
()
as
$_item
)
:
?>
<?php
foreach
(
$block
->
getItems
()
as
$_item
)
:
?>
<?=
$block
->
getItemHtml
(
$_item
)
?>
<?=
$block
->
getItemHtml
(
$_item
)
?>
<?php
endforeach
?>
<?php
endforeach
?>
...
@@ -187,7 +66,6 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
...
@@ -187,7 +66,6 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
<span>
<?=
$block
->
escapeHtml
(
__
(
'Clear Shopping Cart'
))
?>
</span>
<span>
<?=
$block
->
escapeHtml
(
__
(
'Clear Shopping Cart'
))
?>
</span>
</button>
</button>
<?php
endif
?>
<?php
endif
?>
<!--
<button
type=
"submit"
<button
type=
"submit"
name=
"update_cart_action"
name=
"update_cart_action"
data-cart-item-update=
""
data-cart-item-update=
""
...
@@ -196,110 +74,8 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
...
@@ -196,110 +74,8 @@ $mobileDetect = $objectManager->get(\Joshine\Common\Lib\MobileDetect\MobileDetec
class=
"action update"
>
class=
"action update"
>
<span>
<?=
$block
->
escapeHtml
(
__
(
'Update Shopping Cart'
))
?>
</span>
<span>
<?=
$block
->
escapeHtml
(
__
(
'Update Shopping Cart'
))
?>
</span>
</button>
</button>
-->
<input
type=
"hidden"
value=
""
id=
"update_cart_action_container"
data-cart-item-update=
""
/>
<input
type=
"hidden"
value=
""
id=
"update_cart_action_container"
data-cart-item-update=
""
/>
</div>
</div>
</form>
</form>
<?php
else
:
?>
<form
action=
"
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/updatePost'
))
?>
"
method=
"post"
id=
"form-validate"
data-mage-init=
'{"Magento_Checkout/js/action/update-shopping-cart":
{"validationURL" : "
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/updateItemQty'
))
?>
",
"updateCartActionContainer": "#update_cart_action_container"}
}'
class=
"form form-cart"
>
<?=
$block
->
getBlockHtml
(
'formkey'
)
?>
<div
class=
"cart table-wrapper
<?=
$mergedCells
==
2
?
' detailed'
:
''
?>
"
>
<?php
if
(
$block
->
getPagerHtml
())
:
?>
<div
class=
"cart-products-toolbar cart-products-toolbar-top toolbar"
data-attribute=
"cart-products-toolbar-top"
>
<?=
$block
->
getPagerHtml
()
?>
</div>
<?php
endif
?>
<?php
foreach
(
$block
->
getItems
()
as
$_item
)
:
?>
<?=
$block
->
getItemHtml
(
$_item
)
?>
<?php
endforeach
?>
<?php
if
(
$block
->
getPagerHtml
())
:
?>
<div
class=
"cart-products-toolbar cart-products-toolbar-bottom toolbar"
data-attribute=
"cart-products-toolbar-bottom"
>
<?=
$block
->
getPagerHtml
()
?>
</div>
<?php
endif
?>
</div>
</form>
<?php
endif
?>
<script>
require
([
'jquery'
],
function
(
$
)
{
$
(
'.add-qty'
).
click
(
function
(){
var
input
=
$
(
this
).
prev
().
find
(
'.input-text'
);
if
(
input
.
val
())
{
var
current
=
parseInt
(
input
.
val
());
input
.
val
(
current
+
1
);
// submit
$
(
"#form-validate"
).
submit
();
}
else
{
return
false
;
}
});
$
(
'.lower-qty'
).
click
(
function
(){
var
input
=
$
(
this
).
next
().
find
(
'.input-text'
);
if
(
input
.
val
()
>
1
)
{
var
current
=
parseInt
(
input
.
val
());
input
.
val
(
current
-
1
);
// submit
$
(
"#form-validate"
).
submit
();
}
else
{
return
false
;
}
});
var
isMobile
=
window
.
matchMedia
(
"(pointer:coarse)"
).
matches
;
if
(
isMobile
)
{
var
fixHeight
=
$
(
'.area-blk-notitle'
).
height
();
$
(
window
).
scroll
(
function
()
{
$
(
window
).
scroll
(
function
()
{
if
(
$
(
'.area-blk-notitle'
).
length
<
1
){
return
false
;
}
var
scrollTop
=
$
(
document
).
scrollTop
();
var
fixTop
=
$
(
'.area-blk-notitle'
).
offset
().
top
;
var
tableTop
=
$
(
'#shopping-cart-table'
).
offset
().
top
;
var
tableHeight
=
$
(
'#shopping-cart-table'
).
height
();
var
headerHeight
=
$
(
'.page-header'
).
height
();
if
(
scrollTop
>=
fixTop
-
headerHeight
)
{
if
(
scrollTop
<
tableTop
+
tableHeight
-
fixHeight
)
{
$
(
'.area-blk-notitle .content-wrap'
).
addClass
(
"area-fix"
);
$
(
'.area-blk-notitle .content-wrap'
).
css
({
"top"
:
headerHeight
});
}
else
{
$
(
'.area-blk-notitle .content-wrap'
).
removeClass
(
"area-fix"
);
}
}
else
{
$
(
'.area-blk-notitle .content-wrap'
).
removeClass
(
"area-fix"
);
}
});
});
}
});
</script>
<script>
dataLayer
=
[];
dataLayer
.
push
({
'event'
:
'add_to_cart'
,
'value'
:
<?=
$priceSum
?>
,
'items'
:
<?=
json_encode
(
$items
,
true
)
?>
});
</script>
<?=
$block
->
getChildHtml
(
'checkout.cart.order.actions'
)
?>
<?=
$block
->
getChildHtml
(
'checkout.cart.order.actions'
)
?>
<?=
$block
->
getChildHtml
(
'shopping.cart.table.after'
)
?>
<?=
$block
->
getChildHtml
(
'shopping.cart.table.after'
)
?>
app/code/Magento/Checkout/view/frontend/templates/cart/methods-new.phtml
View file @
5c3589ce
...
@@ -105,7 +105,7 @@ $subtotalStr = $block->escapeHtml(
...
@@ -105,7 +105,7 @@ $subtotalStr = $block->escapeHtml(
</div>
</div>
</div>
</div>
</div>
</div>
<!--
<style>
<style>
#we-accept{
#we-accept{
text-align: center;
text-align: center;
...
@@ -122,6 +122,7 @@ $subtotalStr = $block->escapeHtml(
...
@@ -122,6 +122,7 @@ $subtotalStr = $block->escapeHtml(
<div class="title">
<?=
__
(
'We Accept'
)
?>
</div>
<div class="title">
<?=
__
(
'We Accept'
)
?>
</div>
<img src="/media/wysiwyg/we_accept.png" alt="">
<img src="/media/wysiwyg/we_accept.png" alt="">
</div>
</div>
-->
</div>
</div>
<?php
endif
;
?>
<?php
endif
;
?>
<script>
<script>
...
...
app/code/Magento/Checkout/view/frontend/web/js/view/minicart.js
View file @
5c3589ce
...
@@ -78,6 +78,7 @@ define([
...
@@ -78,6 +78,7 @@ define([
return
Component
.
extend
({
return
Component
.
extend
({
shoppingCartUrl
:
window
.
checkout
.
shoppingCartUrl
,
shoppingCartUrl
:
window
.
checkout
.
shoppingCartUrl
,
checkoutUrl
:
window
.
checkout
.
checkoutUrl
,
maxItemsToDisplay
:
window
.
checkout
.
maxItemsToDisplay
,
maxItemsToDisplay
:
window
.
checkout
.
maxItemsToDisplay
,
cart
:
{},
cart
:
{},
...
...
app/design/frontend/Joshine/breeze/Magento_Catalog/layout/catalog_product_view.xml
View file @
5c3589ce
...
@@ -13,11 +13,12 @@
...
@@ -13,11 +13,12 @@
<body>
<body>
<referenceBlock
name=
"product.info.description"
remove=
"true"
/>
<referenceBlock
name=
"product.info.description"
remove=
"true"
/>
<referenceBlock
name=
"product.attributes"
remove=
"true"
/>
<referenceBlock
name=
"product.attributes"
remove=
"true"
/>
<referenceBlock
name=
"catalog.product.related"
remove=
"true"
/>
<referenceContainer
name=
"content"
>
<referenceContainer
name=
"content"
>
<block
class=
"Magento\Catalog\Block\Product\View"
name=
"product.recently_viewed.collector"
template=
"Magento_Catalog::product/view/recently_viewed/collector.phtml"
after=
"product.info.details"
/>
<block
class=
"Magento\Catalog\Block\Product\View"
name=
"product.recently_viewed.collector"
template=
"Magento_Catalog::product/view/recently_viewed/collector.phtml"
after=
"product.info.details"
/>
</referenceContainer>
</referenceContainer>
<referenceContainer
name=
"content.aside"
>
<referenceContainer
name=
"content.aside"
>
<block
class=
"Magento\Cms\Block\Block"
name=
"checkout.cart.empty.recently"
before=
"
catalog.product.related
"
>
<block
class=
"Magento\Cms\Block\Block"
name=
"checkout.cart.empty.recently"
before=
"
product.info.upsell
"
>
<arguments>
<arguments>
<argument
name=
"block_id"
xsi:type=
"string"
>
recently_viewed
</argument>
<argument
name=
"block_id"
xsi:type=
"string"
>
recently_viewed
</argument>
</arguments>
</arguments>
...
...
app/design/frontend/Joshine/breeze/Magento_Catalog/templates/product/free_shipping.phtml
View file @
5c3589ce
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
?>
?>
<div
class=
"product-intro__freeshipping product-intro__bg-none"
>
<div
class=
"product-intro__freeshipping product-intro__bg-none"
>
<div
class=
"product-intro__freeshipping-abt action"
data-trigger=
"trigger-shipping"
>
<div
class=
"product-intro__freeshipping-abt action"
data-trigger=
"trigger-shipping"
>
<div
class=
"product-intro__freeshipping-icon shipping "
><i
class=
"svgicon svgicon-gd-shipping"
></i>
<p>
Fast Delivery
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
<div
class=
"product-intro__freeshipping-icon shipping
joshine-clearfix
"
><i
class=
"svgicon svgicon-gd-shipping"
></i>
<p>
Fast Delivery
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
<div
class=
"free-wrapper"
>
<div
class=
"free-wrapper"
>
<p>
Estimated to be delivered on
<span
id=
"deliveredTime"
>
11/25/2021 - 12/03/2021
</span>
.
</p>
</div></div>
<p>
Estimated to be delivered on
<span
id=
"deliveredTime"
>
11/25/2021 - 12/03/2021
</span>
.
</p>
</div></div>
<div
data-bind=
"mageInit: {
<div
data-bind=
"mageInit: {
...
@@ -130,7 +130,7 @@
...
@@ -130,7 +130,7 @@
</div>
</div>
</div>
</div>
<div
class=
"product-intro__freeshipping-item full-line paddingTop-0 paddingBottom-0 action"
data-trigger=
"trigger2"
>
<div
class=
"product-intro__freeshipping-item full-line paddingTop-0 paddingBottom-0 action"
data-trigger=
"trigger2"
>
<div
class=
"product-intro__freeshipping-icon"
>
<div
class=
"product-intro__freeshipping-icon
joshine-clearfix
"
>
<i
class=
"svgicon svgicon-gd-freereturn"
></i><p>
Free Return
&
Exchange
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
<div
class=
"product-intro__freeshipping-desc"
>
<i
class=
"svgicon svgicon-gd-freereturn"
></i><p>
Free Return
&
Exchange
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
<div
class=
"product-intro__freeshipping-desc"
>
Learn More
Learn More
</div>
</div>
...
@@ -199,6 +199,13 @@
...
@@ -199,6 +199,13 @@
</script>
</script>
<style>
<style>
.product-intro__freeshipping-icon
{
display
:
flex
;
flex-wrap
:
nowrap
;
align-items
:
center
;
}
.product-intro__freeshipping-icon
.svgicon
{
.product-intro__freeshipping-icon
.svgicon
{
width
:
15px
;
width
:
15px
;
height
:
15px
;
height
:
15px
;
...
@@ -219,22 +226,17 @@
...
@@ -219,22 +226,17 @@
clear
:
both
;
clear
:
both
;
}
}
.free-wrapper
p
{
.free-wrapper
p
{
padding-left
:
40px
;
font-size
:
13px
;
padding-left
:
40px
;
}
.product-intro__freeshipping-desc
{
padding-left
:
40px
;
font-size
:
13px
;
}
}
.product-intro__freeshipping-icon.shipping
p
,
.product-intro__freeshipping-icon
p
{
.product-intro__freeshipping-desc
{
display
:
inline-block
;
padding-left
:
40px
;
line-height
:
15px
;
font-size
:
.8rem
!important
;
padding
:
0
10px
;
float
:
left
;
padding-left
:
15px
;
}
}
.product-intro__freeshipping-icon.shipping
p
,
.product-intro__freeshipping-icon
p
{
.product-intro__freeshipping-icon.shipping
p
,
.product-intro__freeshipping-icon
p
{
display
:
inline-block
;
display
:
inline-block
;
line-height
:
15px
;
line-height
:
.9rem
;
padding
:
0
10px
;
padding
:
0
10px
;
float
:
left
;
padding-left
:
15px
;
padding-left
:
15px
;
}
}
...
...
app/design/frontend/Joshine/breeze/Magento_Catalog/templates/product/view/addto.phtml
View file @
5c3589ce
...
@@ -60,7 +60,7 @@
...
@@ -60,7 +60,7 @@
<div
style=
"width: 100%"
class=
"product-view-freeshipping"
>
<div
style=
"width: 100%"
class=
"product-view-freeshipping"
>
<div
class=
"product-intro__freeshipping product-intro__bg-none"
>
<div
class=
"product-intro__freeshipping product-intro__bg-none"
>
<div
class=
"product-intro__freeshipping-abt action"
id=
"freeshipping-button"
>
<div
class=
"product-intro__freeshipping-abt action"
id=
"freeshipping-button"
>
<div
class=
"product-intro__freeshipping-icon shipping
"
><i
class=
"svgicon svgicon-gd-shipping
"
></i>
<p>
<?=
__
(
"Fast Delivery"
);
?>
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
<div
class=
"product-intro__freeshipping-icon shipping
joshine-clearfix "
><i
class=
"svgicon svgicon-gd-shipping"
style=
"position: relative;top: 4px;
"
></i>
<p>
<?=
__
(
"Fast Delivery"
);
?>
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
</div>
<div
class=
"free-wrapper"
>
<div
class=
"free-wrapper"
>
...
@@ -68,7 +68,7 @@
...
@@ -68,7 +68,7 @@
</div>
</div>
<div
class=
"product-intro__freeshipping-item full-line paddingTop-0 paddingBottom-0 action"
id=
"free-return-button"
>
<div
class=
"product-intro__freeshipping-item full-line paddingTop-0 paddingBottom-0 action"
id=
"free-return-button"
>
<div
class=
"product-intro__freeshipping-icon"
>
<div
class=
"product-intro__freeshipping-icon
joshine-clearfix
"
>
<i
class=
"svgicon svgicon-gd-freereturn"
></i><p>
<?=
__
(
"Free Return & Exchange"
)
?>
:
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
<div
class=
"product-intro__freeshipping-desc"
>
<i
class=
"svgicon svgicon-gd-freereturn"
></i><p>
<?=
__
(
"Free Return & Exchange"
)
?>
:
</p>
<span
class=
"svgicon svgicon-gd-more-grey product-intro__freeshipping-more"
></span>
</div>
<div
class=
"product-intro__freeshipping-desc"
>
<?=
__
(
"Learn More"
)
?>
<?=
__
(
"Learn More"
)
?>
</div>
</div>
...
@@ -91,6 +91,13 @@
...
@@ -91,6 +91,13 @@
});
});
</script>
</script>
<style>
<style>
.product-intro__freeshipping-icon
{
display
:
flex
;
flex-wrap
:
nowrap
;
align-items
:
center
;
}
.product-intro__freeshipping-icon
.svgicon
{
.product-intro__freeshipping-icon
.svgicon
{
width
:
15px
;
width
:
15px
;
height
:
15px
;
height
:
15px
;
...
@@ -108,30 +115,27 @@
...
@@ -108,30 +115,27 @@
margin-bottom
:
10px
;
margin-bottom
:
10px
;
padding-bottom
:
10px
;
padding-bottom
:
10px
;
}
}
.free-wrapper
>
*
{
font-size
:
.8rem
;
}
.free-wrapper
,
.product-intro__freeshipping-desc
{
.free-wrapper
,
.product-intro__freeshipping-desc
{
clear
:
both
;
clear
:
both
;
}
}
.free-wrapper
p
{
.free-wrapper
p
{
padding-left
:
40px
;
font-size
:
13px
;
padding-left
:
40px
;
font-size
:
12px
;
color
:
#767676
;
}
.product-intro__freeshipping-desc
{
}
.product-intro__freeshipping-desc
{
padding-left
:
40px
;
font-size
:
13px
;
font-size
:
.8rem
!important
;
padding-left
:
40px
;
}
}
.product-intro__freeshipping-icon.shipping
p
,
.product-intro__freeshipping-icon
p
{
.product-intro__freeshipping-icon.shipping
p
,
.product-intro__freeshipping-icon
p
{
display
:
inline-block
;
display
:
inline-block
;
line-height
:
15px
;
padding
:
0
10px
;
float
:
left
;
padding-left
:
15px
;
}
.product-intro__freeshipping-icon.shipping
p
,
.product-intro__freeshipping-icon
p
{
display
:
inline-block
;
line-height
:
15px
;
padding
:
0
10px
;
padding
:
0
10px
;
float
:
left
;
float
:
left
;
padding-left
:
15px
;
padding-left
:
15px
;
}
}
.product-intro__freeshipping-item
>
*
{
font-size
:
1rem
;
}
.svgicon-gd-more-grey
{
.svgicon-gd-more-grey
{
width
:
16px
;
width
:
16px
;
...
@@ -176,8 +180,7 @@
...
@@ -176,8 +180,7 @@
.joshine-desction
.desction-left
{
.joshine-desction
.desction-left
{
width
:
90%
;
width
:
90%
;
flot
:
left
;
flot
:
left
;
font-weight
:
600
;
font-size
:
1rem
;
color
:
#000
;
}
}
.joshine-desction
.desction-right
{
.joshine-desction
.desction-right
{
width
:
10%
;
width
:
10%
;
...
@@ -185,7 +188,6 @@
...
@@ -185,7 +188,6 @@
text-align
:
end
;
text-align
:
end
;
font-size
:
larger
;
font-size
:
larger
;
color
:
#000
;
color
:
#000
;
font-weight
:
600
;
}
}
.joshine-desction
.desction-info
{
.joshine-desction
.desction-info
{
font-size
:
small
;
font-size
:
small
;
...
@@ -203,6 +205,38 @@
...
@@ -203,6 +205,38 @@
}
}
.joshine-description-mobile
{
display
:
flex
;
display
:
-webkit-box
;
display
:
-ms-flexbox
;
-webkit-box-pack
:
justify
;
justify-content
:
space-between
;
position
:
relative
;
height
:
2rem
;
line-height
:
1.9rem
;
text-transform
:
capitalize
;
font-size
:
14px
;
width
:
100%
;
text-align
:
left
;
}
.description-enter
{
padding-right
:
1.25rem
;
}
.joshine-ui-icon-toggle
{
content
:
' '
;
position
:
absolute
;
right
:
0.125rem
;
top
:
50%
;
margin-top
:
-0.75rem
;
width
:
1rem
;
height
:
1rem
;
-webkit-mask-size
:
1rem
1rem
;
background-color
:
currentColor
;
-webkit-mask
:
url
(
'
data
:
image
/
svg
+
xml
,
<
svg
xmlns
=
"http://www.w3.org/2000/svg"
fill
=
"none"
viewBox
=
"0 0 24 24"
stroke
=
"currentColor"
><
path
stroke-linecap
=
"round"
stroke-linejoin
=
"round"
stroke-width
=
"2"
d
=
"M9 5l7 7-7 7"
/
><
/
svg
>'
)
no-repeat
50%
50%
;
}
</style>
</style>
<div
class=
"product-view-description"
>
<div
class=
"product-view-description"
>
...
@@ -220,7 +254,7 @@ $description = $this->helper(Magento\Catalog\Helper\Output::class)->productAttri
...
@@ -220,7 +254,7 @@ $description = $this->helper(Magento\Catalog\Helper\Output::class)->productAttri
);
);
if
(
$description
)
:
if
(
$description
)
:
?>
?>
<div
class=
"joshine-desction"
>
<div
class=
"joshine-desction
joshine-hidden-sm joshine-hidden-xs
"
>
<div
id=
"accordion"
data-mage-init=
'{
<div
id=
"accordion"
data-mage-init=
'{
"accordion":{
"accordion":{
"active": [0],
"active": [0],
...
@@ -241,11 +275,23 @@ if ($description) :
...
@@ -241,11 +275,23 @@ if ($description) :
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"joshine-description-mobile joshine-hidden-md joshine-hidden-lg"
style=
"border-bottom: 1px solid #e5e5e5; margin-top: 1em;"
id=
"description-button"
>
<div
class=
"description-enter"
>
<?=
__
(
"Description"
)
?>
</div>
<div
class=
"description-text"
style=
"display: flex; color: #767676;font-size: 12px;justify-content: center;align-items: center;"
>
<div
class=
"description-text-left"
>
</div>
<span
class=
"joshine-ui-icon-toggle"
></span>
</div>
</div>
<?php
endif
;
<?php
endif
;
if
(
$short_description
)
:
if
(
$short_description
)
:
?>
?>
<div
class=
"joshine-desction"
>
<div
class=
"joshine-desction
joshine-hidden-sm joshine-hidden-xs
"
>
<div
id=
"accordion"
data-mage-init=
'{
<div
id=
"accordion"
data-mage-init=
'{
"accordion":{
"accordion":{
"active": [0],
"active": [0],
...
@@ -266,6 +312,15 @@ if ($short_description) :
...
@@ -266,6 +312,15 @@ if ($short_description) :
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"joshine-description-mobile joshine-hidden-md joshine-hidden-lg"
id=
"short-description-button"
>
<div
class=
"description-enter"
>
<?=
__
(
"Material"
)
?>
</div>
<div
class=
"description-text"
style=
"display: flex; color: #767676;font-size: 12px;justify-content: center;align-items: center;"
>
<span
class=
"joshine-ui-icon-toggle"
></span>
</div>
</div>
<?php
endif
;
<?php
endif
;
?>
?>
</div>
</div>
...
...
app/design/frontend/Joshine/breeze/Magento_Catalog/templates/product/view/addtocart.phtml
View file @
5c3589ce
...
@@ -66,6 +66,15 @@
...
@@ -66,6 +66,15 @@
break
;
break
;
}
}
}
}
$short_description
=
$this
->
helper
(
Magento\Catalog\Helper\Output
::
class
)
->
productAttribute
(
$block
->
getShortDescription
(),
$block
->
getProduct
()
->
getShortDescription
(),
'short_description'
);
$description
=
$this
->
helper
(
Magento\Catalog\Helper\Output
::
class
)
->
productAttribute
(
$block
->
getShortDescription
(),
$block
->
getProduct
()
->
getDescription
(),
'description'
);
?>
?>
</style>
</style>
...
@@ -87,6 +96,7 @@
...
@@ -87,6 +96,7 @@
$
(
'#free-return-button'
).
click
(
function
(
data
)
{
$
(
'#free-return-button'
).
click
(
function
(
data
)
{
$
(
"#free-return"
).
show
();
$
(
"#free-return"
).
show
();
$
(
"#free-return"
).
siblings
().
hide
();
if
(
isMobile
()){
if
(
isMobile
()){
$
(
".lis"
).
slideToggle
(
"slow"
);
$
(
".lis"
).
slideToggle
(
"slow"
);
}
else
{
}
else
{
...
@@ -96,6 +106,29 @@
...
@@ -96,6 +106,29 @@
});
});
$
(
'#freeshipping-button'
).
click
(
function
(
data
)
{
$
(
'#freeshipping-button'
).
click
(
function
(
data
)
{
$
(
"#freeshipping"
).
show
();
$
(
"#freeshipping"
).
show
();
$
(
"#freeshipping"
).
siblings
().
hide
();
if
(
isMobile
()){
$
(
".lis"
).
slideToggle
(
"slow"
);
}
else
{
$
(
"#areaMask"
).
fadeIn
();
$
(
"#areaLayer"
).
animate
({
"right"
:
0
});
}
});
$
(
'#description-button'
).
click
(
function
(
data
)
{
$
(
"#description-content"
).
show
();
$
(
"#description-content"
).
siblings
().
hide
();
if
(
isMobile
()){
$
(
".lis"
).
slideToggle
(
"slow"
);
}
else
{
$
(
"#description-content"
).
fadeIn
();
$
(
"#description-content"
).
animate
({
"right"
:
0
});
}
});
$
(
'#short-description-button'
).
click
(
function
(
data
)
{
$
(
"#short-description-content"
).
show
();
$
(
"#short-description-content"
).
siblings
().
hide
();
if
(
isMobile
()){
if
(
isMobile
()){
$
(
".lis"
).
slideToggle
(
"slow"
);
$
(
".lis"
).
slideToggle
(
"slow"
);
}
else
{
}
else
{
...
@@ -112,6 +145,8 @@
...
@@ -112,6 +145,8 @@
$
(
"#free-return"
).
hide
();
$
(
"#free-return"
).
hide
();
$
(
"#size-chart"
).
hide
();
$
(
"#size-chart"
).
hide
();
$
(
"#freeshipping"
).
hide
();
$
(
"#freeshipping"
).
hide
();
$
(
"#short-description-content"
).
hide
();
$
(
"#description-content"
).
hide
();
}
}
/*close*/
/*close*/
...
@@ -161,6 +196,12 @@
...
@@ -161,6 +196,12 @@
<?php
echo
$block
->
getLayout
()
->
createBlock
(
'Magento\Cms\Block\Block'
)
->
setBlockId
(
'product-intro-fast-delivery'
)
->
toHtml
();
?>
<?php
echo
$block
->
getLayout
()
->
createBlock
(
'Magento\Cms\Block\Block'
)
->
setBlockId
(
'product-intro-fast-delivery'
)
->
toHtml
();
?>
</div>
</div>
<div
class=
"description-content"
id=
"description-content"
style=
"display: none;"
>
<?php
echo
$description
;
?>
</div>
<div
class=
"short-description-content"
id=
"short-description-content"
style=
"display: none;"
>
<?php
echo
$short_description
;
?>
</div>
</div>
</div>
<ul
id=
"areaList"
class=
"area-list"
style=
"margin-bottom: 500px;"
></ul>
<ul
id=
"areaList"
class=
"area-list"
style=
"margin-bottom: 500px;"
></ul>
</article>
</article>
...
@@ -171,9 +212,9 @@
...
@@ -171,9 +212,9 @@
#product-intro__freeshipping-more-3
{
#product-intro__freeshipping-more-3
{
display
:
revert
;
display
:
revert
;
color
:
#2d68a
;
color
:
#2d68a
;
font-size
:
large
;
float
:
right
;
float
:
right
;
margin-top
:
0px
;
margin-top
:
0px
;
font-size
:
.9em
;
text-decoration
:
underline
;
text-decoration
:
underline
;
}
}
@media
(
min-width
:
1024px
){
@media
(
min-width
:
1024px
){
...
...
app/design/frontend/Joshine/breeze/Magento_Catalog/web/css/gallery.css
View file @
5c3589ce
...
@@ -379,8 +379,8 @@
...
@@ -379,8 +379,8 @@
}
}
.fotorama__active
.fotorama__dot
{
.fotorama__active
.fotorama__dot
{
background-color
:
#
ff5501
;
background-color
:
#
000
;
border-color
:
#
ff5501
border-color
:
#
000
;
}
}
.fotorama__nav__frame.fotorama__active
.fotorama__nav__frame
{
.fotorama__nav__frame.fotorama__active
.fotorama__nav__frame
{
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/layout/checkout_cart_index.xml
View file @
5c3589ce
...
@@ -8,51 +8,31 @@
...
@@ -8,51 +8,31 @@
<page
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
layout=
"1column"
xsi:noNamespaceSchemaLocation=
"urn:magento:framework:View/Layout/etc/page_configuration.xsd"
>
<page
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
layout=
"1column"
xsi:noNamespaceSchemaLocation=
"urn:magento:framework:View/Layout/etc/page_configuration.xsd"
>
<update
handle=
"checkout_cart_item_renderers"
/>
<update
handle=
"checkout_cart_item_renderers"
/>
<body>
<body>
<referenceContainer
name=
"page.bottom.container"
remove=
"true"
/>
<referenceBlock
name=
"checkout.cart.addtocart"
remove=
"true"
/>
<referenceContainer
name=
"footer-container"
remove=
"true"
/>
<referenceContainer
name=
"nav.main.box"
remove=
"true"
/>
<referenceBlock
name=
"catalog.topnav"
remove=
"true"
/>
<referenceBlock
name=
"top.search"
remove=
"true"
/>
<referenceBlock
name=
"header.search.bar"
remove=
"true"
/>
<referenceBlock
name=
"header.account"
remove=
"true"
/>
<referenceBlock
name=
"header.wishlist"
remove=
"true"
/>
<referenceBlock
name=
"minicart"
remove=
"true"
/>
<referenceBlock
name=
"checkout.cart.crosssell"
remove=
"true"
/>
<referenceBlock
name=
"checkout.cart.crosssell"
remove=
"true"
/>
<referenceContainer
name=
"header.container"
>
<block
class=
"Magento\Cms\Block\Block"
name=
"cart.payment.top"
>
<referenceBlock
name=
"checkout.cart.summary.title"
remove=
"true"
/>
<arguments>
<argument
name=
"block_id"
xsi:type=
"string"
>
cart_payment_top
</argument>
</arguments>
<!-- -->
</block>
<!-- <referenceBlock name="checkout.cart.totals">-->
</referenceContainer>
<!-- <arguments>-->
<referenceContainer
name=
"columns.top"
>
<!-- <argument name="jsLayout" xsi:type="array">-->
<block
class=
"Magento\Cms\Block\Block"
name=
"progress.bar"
before=
"-"
>
<!-- <item name="components" xsi:type="array">-->
<arguments>
<!-- <item name="block-totals" xsi:type="array">-->
<argument
name=
"block_id"
xsi:type=
"string"
>
progress_bar
</argument>
<!-- <item name="children" xsi:type="array">-->
</arguments>
<!-- <item name="shpping-get" xsi:type="array">-->
</block>
<!-- <item name="component" xsi:type="string">Magento_Checkout/js/view/address-get</item>-->
</referenceContainer>
<!-- </item>-->
<referenceContainer
name=
"content"
>
<!-- </item>-->
<block
class=
"Magento\Framework\View\Element\Template"
name=
"checkout.cart.footer"
template=
"Magento_Checkout::footer.phtml"
/>
<!-- </item>-->
<!-- </item>-->
<!-- </argument>-->
<!-- </arguments>-->
<!-- </referenceBlock>-->
<referenceContainer
name=
"checkout.cart.totals.container"
>
<block
class=
"Magento\Checkout\Block\Cart\Totals"
name=
"checkout.cart.totals"
template=
"Magento_Checkout::cart/totals.phtml"
/>
</referenceContainer>
</referenceContainer>
<referenceBlock
name=
"checkout.cart.totals"
>
<arguments>
<argument
name=
"jsLayout"
xsi:type=
"array"
>
<item
name=
"components"
xsi:type=
"array"
>
<item
name=
"block-totals"
xsi:type=
"array"
>
<item
name=
"children"
xsi:type=
"array"
>
<item
name=
"shpping-get"
xsi:type=
"array"
>
<item
name=
"component"
xsi:type=
"string"
>
Magento_Checkout/js/view/address-get
</item>
</item>
</item>
</item>
</item>
</argument>
</arguments>
</referenceBlock>
<referenceContainer
name=
"checkout.cart.noitems"
>
<referenceContainer
name=
"checkout.cart.noitems"
>
<block
class=
"Magento\Cms\Block\Block"
name=
"checkout.cart.empty.recently"
>
<block
class=
"Magento\Cms\Block\Block"
name=
"checkout.cart.empty.recently"
>
<arguments>
<arguments>
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/coupon.phtml
View file @
5c3589ce
...
@@ -13,10 +13,6 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
...
@@ -13,10 +13,6 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
?>
?>
<style>
<style>
.checkout-cart-index
.cart-container
.block.discount.active
{
border-bottom
:
1px
solid
#ddd
;
}
.checkout-cart-index
.cart-container
.block.discount.active
.content
{
.checkout-cart-index
.cart-container
.block.discount.active
.content
{
padding
:
0px
1rem
;
padding
:
0px
1rem
;
}
}
...
@@ -37,13 +33,13 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
...
@@ -37,13 +33,13 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
>
>
-->
-->
<div
class=
"block discount"
<div
class=
"block discount"
id=
"block-discount"
id=
"block-discount"
>
data-mage-init=
'{"collapsible":{"active":"true", "openedState": "active", "saveState": false}}'
<!--
>
<div class="title" data-role="title" aria-controls="block-summary" role="tab" aria-selected="true" aria-expanded="true" tabindex="0">
<div class="title" data-role="title" aria-controls="block-summary" role="tab" aria-selected="true" aria-expanded="true" tabindex="0">
<strong id="block-shipping-coupon" role="heading" aria-level="2">
<?=
__
(
"Coupon Code"
)
?>
</strong>
<strong id="block-shipping-coupon" role="heading" aria-level="2">
<?=
__
(
"Coupon Code"
)
?>
</strong>
</div>
</div>
<div
class=
"content"
data-role=
"content"
aria-labelledby=
"block-discount-heading"
style=
"display: block;"
>
-->
<div
class=
"content"
style=
"display: block;"
>
<form
id=
"discount-coupon-form"
<form
id=
"discount-coupon-form"
action=
"
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/couponPost'
))
?>
"
action=
"
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/couponPost'
))
?>
"
method=
"post"
method=
"post"
...
@@ -53,8 +49,7 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
...
@@ -53,8 +49,7 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
"cancelButton": "button.action.cancel"}}'
>
"cancelButton": "button.action.cancel"}}'
>
<div
class=
"fieldset coupon
<?=
$hasCouponCode
?
' applied'
:
''
?>
"
>
<div
class=
"fieldset coupon
<?=
$hasCouponCode
?
' applied'
:
''
?>
"
>
<input
type=
"hidden"
name=
"remove"
id=
"remove-coupon"
value=
"0"
/>
<input
type=
"hidden"
name=
"remove"
id=
"remove-coupon"
value=
"0"
/>
<div
class=
"field"
style=
"width: 50%;"
>
<div
class=
"field"
style=
"width: 70%;"
>
<label
for=
"coupon_code"
class=
"label"
><span>
<?=
$block
->
escapeHtml
(
__
(
'Enter discount code'
))
?>
</span></label>
<div
class=
"control"
style=
"float: left;margin-top: 0px;width: 100%;"
>
<div
class=
"control"
style=
"float: left;margin-top: 0px;width: 100%;"
>
<input
type=
"text"
<input
type=
"text"
class=
"input-text"
class=
"input-text"
...
@@ -68,16 +63,16 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
...
@@ -68,16 +63,16 @@ $hasCouponCode = (bool) strlen($block->getCouponCode());
/>
/>
</div>
</div>
</div>
</div>
<div
class=
"actions-toolbar"
style=
"clear: none;"
>
<div
class=
"actions-toolbar"
style=
"clear: none;
margin-top: 1.25rem;margin-bottom: 0px;
"
>
<?php
if
(
!
$hasCouponCode
)
:?>
<?php
if
(
!
$hasCouponCode
)
:?>
<
div
class
="
primary
">
<
div
class
="
primary
">
<button class="
action
apply
primary
" style="
padding
:
0.5
rem
1
rem
;
width
:
100
%
;
background
-
color
:
#
444
;" type="button" value="<?= $block->escapeHtmlAttr(__('Apply Discount')) ?>">
<button class="
action
apply
primary
" style="
padding
:
0.5
rem
1
rem
;
width
:
100
%
;
background
-
color
:
#
999
;" type="button" value="<?= $block->escapeHtmlAttr(__('Apply Discount')) ?>">
<
span
><?=
$block
->
escapeHtml
(
__
(
'Apply Discount'
))
?>
</span>
<
span
><?=
$block
->
escapeHtml
(
__
(
'Apply Discount'
))
?>
</span>
</button>
</button>
</div>
</div>
<?php
else
:?>
<?php
else
:?>
<
div
class
="
primary
">
<
div
class
="
primary
">
<button type="
button
" class="
action
cancel
primary
" style="
padding
:
0.5
rem
1
rem
;
width
:
100
%
;
background
-
color
:
#
444
;" value="<?= $block->escapeHtmlAttr(__('Cancel Coupon')) ?>"><span><?= $block->escapeHtml(__('Cancel Coupon')) ?></span></button>
<button type="
button
" class="
action
cancel
primary
" style="
padding
:
0.5
rem
1
rem
;
width
:
100
%
;
background
-
color
:
#
999
;" value="<?= $block->escapeHtmlAttr(__('Cancel Coupon')) ?>"><span><?= $block->escapeHtml(__('Cancel Coupon')) ?></span></button>
</
div
>
</
div
>
<?
php
endif
;
?>
<?
php
endif
;
?>
</div>
</div>
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/form.phtml
0 → 100644
View file @
5c3589ce
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
// phpcs:disable Magento2.Templates.ThisInTemplate
/** @var $block \Magento\Checkout\Block\Cart\Grid */
$objectManager
=
\Magento\Framework\App\ObjectManager
::
getInstance
();
$_cart
=
$objectManager
->
get
(
'\Magento\Checkout\Model\Cart'
);
$items
=
[];
$priceSum
=
0
;
$_items
=
$block
->
getItems
();
if
(
count
(
$_items
)
>
0
)
{
foreach
(
$_items
as
$key
=>
$value
)
{
$_item
[
'google_business_vertical'
]
=
'retail'
;
$_item
[
'id'
]
=
$value
->
getSku
();
$items
[]
=
$_item
;
$priceSum
+=
$value
->
getPrice
()
*
$value
->
getQty
();
}
}
$subtotal
=
$_cart
->
getSubtotal
();
$_shipping
=
$objectManager
->
get
(
'\Magento\Checkout\Block\Cart\Shipping'
);
$free_shipping_subtotal
=
$_shipping
->
getNoFormatFreeShippingSubtotal
();
$is_free_shipping
=
false
;
$difference_price
=
0
;
if
(
$subtotal
>=
$free_shipping_subtotal
)
{
$is_free_shipping
=
true
;
}
else
{
$difference_price
=
$free_shipping_subtotal
-
$subtotal
;
}
$mobileDetect
=
$objectManager
->
get
(
\Joshine\Common\Lib\MobileDetect\MobileDetect
::
class
);
?>
<?php
$mergedCells
=
(
$this
->
helper
(
Magento\Tax\Helper\Data
::
class
)
->
displayCartBothPrices
()
?
2
:
1
);
?>
<?=
$block
->
getChildHtml
(
'form_before'
)
?>
<div
class=
"cart-top"
>
<h1
class=
"cart-title"
>
Shopping Cart
</h1>
<?php
if
(
!
$is_free_shipping
)
:
?>
<div
class=
"msg-content"
>
<?=
$block
->
escapeHtml
(
__
(
'Spend'
))
?>
<?=
$block
->
escapeHtml
(
$this
->
helper
(
Magento\Checkout\Helper\Data
::
class
)
->
formatPrice
(
$difference_price
),
[
'span'
]
)
?>
<?=
$block
->
escapeHtml
(
__
(
'more and get free shipping!'
))
?>
</div>
<?php
endif
?>
</div>
<form
action=
"
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/updatePost'
))
?>
"
method=
"post"
id=
"form-validate"
data-mage-init=
'{"Magento_Checkout/js/action/update-shopping-cart":
{"validationURL" : "
<?=
$block
->
escapeUrl
(
$block
->
getUrl
(
'checkout/cart/updateItemQty'
))
?>
",
"updateCartActionContainer": "#update_cart_action_container"}
}'
class=
"form form-cart"
>
<?=
$block
->
getBlockHtml
(
'formkey'
)
?>
<div
class=
"cart table-wrapper
<?=
$mergedCells
==
2
?
' detailed'
:
''
?>
"
>
<?php
if
(
$block
->
getPagerHtml
())
:
?>
<div
class=
"cart-products-toolbar cart-products-toolbar-top toolbar"
data-attribute=
"cart-products-toolbar-top"
>
<?=
$block
->
getPagerHtml
()
?>
</div>
<?php
endif
?>
<?php
foreach
(
$block
->
getItems
()
as
$_item
)
:
?>
<?=
$block
->
getItemHtml
(
$_item
)
?>
<?php
endforeach
?>
<?php
if
(
$block
->
getPagerHtml
())
:
?>
<div
class=
"cart-products-toolbar cart-products-toolbar-bottom toolbar"
data-attribute=
"cart-products-toolbar-bottom"
>
<?=
$block
->
getPagerHtml
()
?>
</div>
<?php
endif
?>
</div>
</form>
<script>
require
([
'jquery'
],
function
(
$
)
{
$
(
'.add-qty'
).
click
(
function
(){
var
input
=
$
(
this
).
prev
().
find
(
'.input-text'
);
if
(
input
.
val
())
{
var
current
=
parseInt
(
input
.
val
());
input
.
val
(
current
+
1
);
// submit
$
(
"#form-validate"
).
submit
();
}
else
{
return
false
;
}
});
$
(
'.lower-qty'
).
click
(
function
(){
var
input
=
$
(
this
).
next
().
find
(
'.input-text'
);
if
(
input
.
val
()
>
1
)
{
var
current
=
parseInt
(
input
.
val
());
input
.
val
(
current
-
1
);
// submit
$
(
"#form-validate"
).
submit
();
}
else
{
return
false
;
}
});
var
isMobile
=
window
.
matchMedia
(
"(pointer:coarse)"
).
matches
;
if
(
isMobile
)
{
var
fixHeight
=
$
(
'.area-blk-notitle'
).
height
();
$
(
window
).
scroll
(
function
()
{
$
(
window
).
scroll
(
function
()
{
if
(
$
(
'.area-blk-notitle'
).
length
<
1
){
return
false
;
}
var
scrollTop
=
$
(
document
).
scrollTop
();
var
fixTop
=
$
(
'.area-blk-notitle'
).
offset
().
top
;
var
tableTop
=
$
(
'#shopping-cart-table'
).
offset
().
top
;
var
tableHeight
=
$
(
'#shopping-cart-table'
).
height
();
var
headerHeight
=
$
(
'.page-header'
).
height
();
if
(
scrollTop
>=
fixTop
-
headerHeight
)
{
if
(
scrollTop
<
tableTop
+
tableHeight
-
fixHeight
)
{
$
(
'.area-blk-notitle .content-wrap'
).
addClass
(
"area-fix"
);
$
(
'.area-blk-notitle .content-wrap'
).
css
({
"top"
:
headerHeight
});
}
else
{
$
(
'.area-blk-notitle .content-wrap'
).
removeClass
(
"area-fix"
);
}
}
else
{
$
(
'.area-blk-notitle .content-wrap'
).
removeClass
(
"area-fix"
);
}
});
});
}
});
</script>
<script>
dataLayer
=
[];
dataLayer
.
push
({
'event'
:
'add_to_cart'
,
'value'
:
<?=
$priceSum
?>
,
'items'
:
<?=
json_encode
(
$items
,
true
)
?>
});
</script>
<?=
$block
->
getChildHtml
(
'shopping.cart.table.after'
)
?>
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/item/default.phtml
View file @
5c3589ce
...
@@ -19,280 +19,6 @@ $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
...
@@ -19,280 +19,6 @@ $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$mobileDetect
=
$objectManager
->
get
(
\Joshine\Common\Lib\MobileDetect\MobileDetect
::
class
);
$mobileDetect
=
$objectManager
->
get
(
\Joshine\Common\Lib\MobileDetect\MobileDetect
::
class
);
$priceBlock
=
$objectManager
->
get
(
\Magento\Catalog\Block\Product\AbstractProduct
::
class
);
$priceBlock
=
$objectManager
->
get
(
\Magento\Catalog\Block\Product\AbstractProduct
::
class
);
?>
?>
<style>
.item-options-line
span
{
display
:
inline-block
;
}
.item-options-line
span
:first-child
{
width
:
30%
;
}
@media
(
max-width
:
1024px
){
.cart-container
.cart.table-wrapper
.item-options
{
min-width
:
100px
;
}
}
.is_mobile
.item-info
{
display
:
table
;
table-layout
:
fixed
;
margin
:
15px
0
;
width
:
100%
;
}
.is_mobile
.item-info
{
display
:
table
;
table-layout
:
fixed
;
margin
:
15px
0
;
width
:
100%
;
border-bottom
:
1px
solid
#ddd
;
}
.item-info-left
{
width
:
90px
;
min-width
:
90px
;
text-align
:
center
;
display
:
table-cell
;
vertical-align
:
middle
;
padding-bottom
:
10px
;
}
.item-info-left
.item-image
{
position
:
relative
;
margin-left
:
auto
;
margin-right
:
auto
;
}
.item-info-right
{
padding-left
:
25px
;
display
:
table-cell
;
padding-bottom
:
10px
;
}
.item-info-right
.item-name
{
width
:
100%
;
font-size
:
12px
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
font-weight
:
400
;
font-style
:
normal
;
color
:
#5c5c5c
;
-webkit-transition
:
color
.2s
ease-in-out
;
transition
:
color
.2s
ease-in-out
;
}
.item-info-right
.item-options-meta
{
font-size
:
10px
;
font-family
:
Futura
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
-webkit-transition
:
color
.2s
ease-in-out
;
transition
:
color
.2s
ease-in-out
;
}
.item-info-right
.item-price
{
font-size
:
10px
;
font-family
:
Futura
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
-webkit-transition
:
color
.2s
ease-in-out
;
transition
:
color
.2s
ease-in-out
;
}
.item-info-right
.item-price
.price-box.price-final_price
{
float
:
none
;
}
.item-info-right
.item-price
.product-info-promotion-span
,
.item-info-right
.item-price
.price-label
{
display
:
none
;
}
.item-info-right
.item-price
.no-display
{
display
:
inline-block
!important
;
}
.item-info-right
.item-handle
{
text-align
:
center
;
display
:
-webkit-box
;
display
:
-ms-flexbox
;
display
:
flex
;
-webkit-box-align
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
-webkit-box-pack
:
justify
;
-ms-flex-pack
:
justify
;
justify-content
:
space-between
;
-ms-flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
font-family
:
Futura
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
-webkit-transition
:
color
.2s
ease-in-out
;
transition
:
color
.2s
ease-in-out
;
font-size
:
12px
;
}
.item-info-right
.item-quantity
{
display
:
-webkit-inline-box
;
display
:
-ms-inline-flexbox
;
display
:
inline-flex
;
-webkit-box-align
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
border
:
1px
solid
#e7e7e7
;
white-space
:
nowrap
;
}
.checkout-cart-index
.item-info-right
.new-qty
.input-text
{
border
:
none
;
width
:
1rem
;
padding
:
0
;
font-size
:
12px
;
}
.checkout-cart-index
.item-info-right
.qty-change
{
padding
:
2px
15px
;
}
.checkout-cart-index
.item-info-right
.actions-toolbar
{
margin-top
:
0px
;
margin-bottom
:
0px
;
}
.checkout-cart-index
.item-info-right
.action-delete
span
{
color
:
#0a0a0a
;
}
</style>
<?php
if
(
!
$mobileDetect
->
isMobile
())
:
?>
<tbody
class=
"cart item"
>
<tr
class=
"item-info"
>
<td
data-th=
"
<?=
$block
->
escapeHtml
(
__
(
'Item'
))
?>
"
class=
"col item"
>
<?php
if
(
$block
->
hasProductUrl
())
:?>
<
a
href
=
"<?=
$block->escapeUrl
(
$block->getProductUrl
()) ?>"
title
=
"<?=
$block->escapeHtml
(
$block->getProductName
()) ?>"
tabindex
=
"-1"
class
="
product
-
item
-
photo
">
<?php else :?>
<span class="
product
-
item
-
photo
">
<?php endif;?>
<?=
$block->getImage
(
$block->getProductForThumbnail
(), 'cart_page_product_thumbnail')->toHtml() ?>
<?php if (
$block->hasProductUrl
()) :?>
</a>
<?php else :?>
</span>
<?php endif; ?>
<div class="
product
-
item
-
details
">
<strong class="
product
-
item
-
name
">
<?php if (
$block->hasProductUrl
()) :?>
<a href="
<?=
$block
->
escapeUrl
(
$block
->
getProductUrl
())
?>
">
<?=
$block
->
escapeHtml
(
$block
->
getProductName
())
?>
</a>
<?php
else
:?>
<?=
$block
->
escapeHtml
(
$block
->
getProductName
())
?>
<?php
endif
;
?>
</strong>
<?php
if
(
$_options
=
$block
->
getOptionList
())
:?>
<
div
class
="
item
-
options
" >
<?php foreach (
$_options
as
$_option
) :?>
<div class="
item
-
options
-
line
">
<?php
$_formatedOptionValue
=
$block->getFormatedOptionValue
(
$_option
) ?>
<span style="
margin
-
top
:
0
px
;
"><?=
$block->escapeHtml
(
$_option['label']
) ?></span>
<?php
$objectManager
= \Magento\Framework\App\ObjectManager::getInstance();
$resource
=
$objectManager->get
('Magento\Framework\App\ResourceConnection');
$connection
=
$resource->getConnection
();
?>
<span>
<?php if (
$_option['label']
!= 'Size'){ ?>
<?php
$tableName
=
$resource->getTableName
('eav_attribute_option_value');
$sql
= "
Select
*
FROM
" .
$tableName
."
where
store_id
=
0
AND
option_id
=
".
$_option['option_value']
;
$result
=
$connection->fetchRow
(
$sql
);
?>
<?=
$block->escapeHtml
(
$result['value']
) ?>
<?php }else{
$tableName
=
$resource->getTableName
('eav_attribute_option_swatch');
$sql
= "
Select
*
FROM
" .
$tableName
."
where
store_id
=
0
AND
option_id
=
".
$_option['option_value']
;
$result
=
$connection->fetchRow
(
$sql
);
echo
$result['value']
;
} ?>
</span>
</div>
<?php endforeach; ?>
</div>
<?php endif;?>
<?php if (
$messages
=
$block->getMessages
()) :?>
<?php foreach (
$messages
as
$message
) :?>
<div class= "
cart
item
message
<?=
$block
->
escapeHtmlAttr
(
$message
[
'type'
])
?>
">
<div>
<?=
$block
->
escapeHtml
(
$message
[
'text'
])
?>
</div>
</div>
<?php
endforeach
;
?>
<?php
endif
;
?>
<?php
$addInfoBlock
=
$block
->
getProductAdditionalInformationBlock
();
?>
<?php
if
(
$addInfoBlock
)
:?>
<?=
$addInfoBlock
->
setItem
(
$_item
)
->
toHtml
()
?>
<?php
endif
;
?>
</div>
</td>
<?php
if
(
$canApplyMsrp
)
:?>
<
td
class
="
col
msrp
" data-th="
<?=
$block
->
escapeHtml
(
__
(
'Price'
))
?>
">
<span
class=
"pricing msrp"
>
<span
class=
"msrp notice"
>
<?=
$block
->
escapeHtml
(
__
(
'See price before order confirmation.'
))
?>
</span>
<?php
$helpLinkId
=
'cart-msrp-help-'
.
$_item
->
getId
();
?>
<a
href=
"#"
class=
"action help map"
id=
"
<?=
(
$block
->
escapeHtmlAttr
(
$helpLinkId
))
?>
"
data-mage-init=
'{"addToCart":{
"helpLinkId": "#
<?=
$block
->
escapeJs
(
$block
->
escapeHtml
(
$helpLinkId
))
?>
",
"productName": "
<?=
$block
->
escapeJs
(
$block
->
escapeHtml
(
$product
->
getName
()))
?>
",
"showAddToCart": false
}
}'
>
<span>
<?=
$block
->
escapeHtml
(
__
(
"What's this?"
))
?>
</span>
</a>
</span>
</td>
<?php
else
:?>
<
td
class
="
col
price
" data-th="
<?=
$block
->
escapeHtml
(
__
(
'Price'
))
?>
">
<?=
$block
->
getUnitPriceHtml
(
$_item
)
?>
</td>
<?php
endif
;
?>
<td
class=
"col qty"
data-th=
"
<?=
$block
->
escapeHtml
(
__
(
'Qty'
))
?>
"
>
<?php
if
(
$block
->
escapeHtmlAttr
(
$block
->
getQty
())
>
1
)
:?>
<
strong
class
="
lower
-
qty
qty
-
change
">-</strong>
<?php else :?>
<strong class="
lower
-
qty
qty
-
change
no
-
enabled
">-</strong>
<?php endif; ?>
<div class="
field
qty
new
-
qty
">
<div class="
control
qty
">
<label for="
cart
-<?=
$block
->
escapeHtmlAttr
(
$_item
->
getId
())
?>
-qty">
<span
class=
"label"
>
<?=
$block
->
escapeHtml
(
__
(
'Qty'
))
?>
</span>
<input
id=
"cart-
<?=
$block
->
escapeHtmlAttr
(
$_item
->
getId
())
?>
-qty"
name=
"cart[
<?=
$block
->
escapeHtmlAttr
(
$_item
->
getId
())
?>
][qty]"
data-cart-item-id=
"
<?=
$block
->
escapeHtmlAttr
(
$_item
->
getSku
())
?>
"
value=
"
<?=
$block
->
escapeHtmlAttr
(
$block
->
getQty
())
?>
"
type=
"number"
size=
"4"
step=
"any"
title=
"
<?=
$block
->
escapeHtmlAttr
(
__
(
'Qty'
))
?>
"
class=
"input-text qty"
data-validate=
"{required:true,'validate-greater-than-zero':true}"
data-role=
"cart-item-qty"
readonly=
"readonly"
/>
</label>
</div>
</div>
<strong
class=
"add-qty qty-change"
>
+
</strong>
</td>
<td
class=
"col subtotal"
data-th=
"
<?=
$block
->
escapeHtml
(
__
(
'Subtotal'
))
?>
"
>
<?php
if
(
$canApplyMsrp
)
:?>
<
span
class
="
cart
msrp
subtotal
">--</span>
<?php else :?>
<?=
$block->getRowTotalHtml
(
$_item
) ?>
<?php endif; ?>
</td>
</tr>
<tr class="
item
-
actions
">
<td colspan="
4
">
<div class="
actions
-
toolbar
">
<?= /* @noEscape */
$block->getActions
(
$_item
) ?>
</div>
</td>
</tr>
</tbody>
<?php else: ?>
<div
class=
"cart item is_mobile"
>
<div
class=
"cart item is_mobile"
>
<div
class=
"item-info"
>
<div
class=
"item-info"
>
...
@@ -327,45 +53,25 @@ $priceBlock = $objectManager->get(\Magento\Catalog\Block\Product\AbstractProduct
...
@@ -327,45 +53,25 @@ $priceBlock = $objectManager->get(\Magento\Catalog\Block\Product\AbstractProduct
<!----------------------------item option start--------------------------------->
<!----------------------------item option start--------------------------------->
<?php
if
(
$_options
=
$block
->
getOptionList
())
:?>
<?php
if
(
$_options
=
$block
->
getOptionList
())
:?>
<
div
class
="
item
-
options
-
meta
">
<
div
class
="
item
-
options
-
meta
">
<?php
<?php foreach (
$_options
as
$_option
) :?>
$countOpt
= count(
$_options
);
?>
<?php foreach (
$_options
as
$key
=>
$_option
) :?>
<span class="
item
-
options
-
line
">
<span class="
item
-
options
-
line
">
<?php
<?php
$_formatedOptionValue
=
$block->getFormatedOptionValue
(
$_option
) ?>
$objectManager
= \Magento\Framework\App\ObjectManager::getInstance();
<strong style="
font
-
weight
:
600
;
margin
-
right
:
10
px
;
"><?=
$block->escapeHtml
(
$_option['label']
) ?>:</strong>
$resource
=
$objectManager->get
('Magento\Framework\App\ResourceConnection');
<?php if (isset(
$_formatedOptionValue['full_view']
)) :?>
$connection
=
$resource->getConnection
();
<?=
$block->escapeHtml
(
$_formatedOptionValue['full_view']
) ?>
?>
<?php else :?>
<?=
$block->escapeHtml
(
$_formatedOptionValue['value']
, ['span', 'a']) ?>
<?php if (
$_option['label']
!= 'Size'){ ?>
<?php endif; ?>
<?php
</span><br />
$tableName
=
$resource->getTableName
('eav_attribute_option_value');
$sql
= "
Select
*
FROM
" .
$tableName
."
where
store_id
=
0
AND
option_id
=
".
$_option['option_value']
;
$result
=
$connection->fetchRow
(
$sql
);
?>
<?=
$block->escapeHtml
(
$result['value']
) ?>
<?php }else{
$tableName
=
$resource->getTableName
('eav_attribute_option_swatch');
$sql
= "
Select
*
FROM
" .
$tableName
."
where
store_id
=
0
AND
option_id
=
".
$_option['option_value']
;
$result
=
$connection->fetchRow
(
$sql
);
echo
$result['value']
;
} ?>
</span>
<span><?php if (
$countOpt
- 1 !=
$key
) :?>/<?php endif; ?></span>
<?php endforeach; ?>
<?php endforeach; ?>
</div>
</div>
<?php endif;?>
<?php endif;?>
<!----------------------------item option end----------------------------------->
<!----------------------------item price start---------------------------------->
<div style="
max
-
width
:
100
%
;
width
:
100
%
;
height
:
40
px
;
">
<div class="
item
-
price
">
<?=
$priceBlock->getProductPrice
(
$product
);?>
</div>
<!----------------------------item price end------------------------------------>
<!----------------------------item handle start--------------------------------->
<!----------------------------item handle start--------------------------------->
<div class="
item
-
handle
">
<div class="
item
-
handle
" style="
width
:
16
%
;
float
:
left
;
position
:
inherit
;
font
-
size
:
16
px
;
">
<div class="
item
-
quantity
">
<div class="
item
-
quantity
">
<?php if (
$block->escapeHtmlAttr
(
$block->getQty
()) > 1) :?>
<?php if (
$block->escapeHtmlAttr
(
$block->getQty
()) > 1) :?>
<strong class="
lower
-
qty
qty
-
change
">-</strong>
<strong class="
lower
-
qty
qty
-
change
">-</strong>
...
@@ -386,21 +92,30 @@ $priceBlock = $objectManager->get(\Magento\Catalog\Block\Product\AbstractProduct
...
@@ -386,21 +92,30 @@ $priceBlock = $objectManager->get(\Magento\Catalog\Block\Product\AbstractProduct
class=
"input-text qty"
class=
"input-text qty"
data-validate=
"{required:true,'validate-greater-than-zero':true}"
data-validate=
"{required:true,'validate-greater-than-zero':true}"
data-role=
"cart-item-qty"
readonly=
"readonly"
/>
data-role=
"cart-item-qty"
readonly=
"readonly"
/>
</label>
</label>
</div>
</div>
</div>
</div>
<strong
class=
"add-qty qty-change"
>
+
</strong>
<strong
class=
"add-qty qty-change"
>
+
</strong>
</div
>
</div><br
/
>
<div
class=
"item-actions"
>
<div
class=
"item-actions"
>
<div
class=
"actions-toolbar"
>
<div
class=
"actions-toolbar"
style=
"text-decoration: underline;"
>
<?=
/* @noEscape */
$block
->
getActions
(
$_item
)
?>
<?=
/* @noEscape */
$block
->
getActions
(
$_item
)
?>
</div>
</div>
</div>
</div>
</div>
</div>
<!----------------------------item handle end----------------------------------->
<!----------------------------item handle end----------------------------------->
<!----------------------------item option end----------------------------------->
<div
style=
"float: right;padding-right: 15%;width: 40%;font-size: 20px;"
>
<?php
if
(
$canApplyMsrp
)
:?>
<
span
class
="
cart
msrp
subtotal
">--</span>
<?php else :?>
<?=
$block->getRowTotalHtml
(
$_item
) ?>
<?php endif; ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
<?php
endif
;
?>
\ No newline at end of file
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/methods.phtml
0 → 100644
View file @
5c3589ce
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
?>
<?php
/** @var $block \Magento\Checkout\Block\Cart */
?>
<?php
if
(
!
$block
->
hasError
())
:?>
<?
php
$methods
=
$block
->
getMethods
(
'methods'
)
?:
$block
->
getMethods
(
'top_methods'
)
?>
<ul
class=
"checkout methods items checkout-methods-items"
>
<?php
foreach
(
$methods
as
$code
=>
$method
)
:
?>
<?php
$methodHtml
=
$block
->
getMethodHtml
(
$method
);
?>
<?php
if
(
trim
(
$methodHtml
)
!==
''
)
:?>
<?
php
if
(
trim
(
$method
)
===
'checkout.cart.shortcut.buttons'
)
:?>
<
li
class
="
item
" style="
order
:
0
;
"><?= /* @noEscape */
$methodHtml
?></li>
<?php else : ?>
<li class="
item
" style="
order
:
1
;
"><?= /* @noEscape */
$methodHtml
?></li>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php if (
$block->getContinueShoppingUrl
()): ?>
<div class="
continue
-
content
" style="
height
:
40
px
;
">
<button class="
action
continue
" style="
width
:
100
%
;
" onclick="
window
.
location
.
href
=
'<?= $block->escapeUrl($block->getContinueShoppingUrl()) ?>'
">Continue shopping</button>
</div>
<?php endif; ?>
<div class="
shipping
-
msg
" style="
text
-
align
:
center
;
margin
:
1
rem
0
px
;
">Taxes and shipping fee will be calculated at checkout
</div>
<script>
require(['jquery'], function ($) {
var isMobile = window.matchMedia("
(
pointer
:
coarse
)
").matches;
if (isMobile) {
$(window).scroll(function () {
var positionUl = $('.cart-container .checkout-methods-items li:first-child')
if (window.outerHeight + $(document).scrollTop() < $(positionUl).parent().offset().top + 50) {
$(positionUl).removeClass("
button
-
static
");
} else {
$(positionUl).addClass("
button
-
static
");
}
});
}
});
</script>
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/minicart.phtml
View file @
5c3589ce
...
@@ -7,7 +7,6 @@
...
@@ -7,7 +7,6 @@
/** @var $block \Magento\Checkout\Block\Cart\Sidebar */
/** @var $block \Magento\Checkout\Block\Cart\Sidebar */
/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */
?>
?>
<div
data-block=
"minicart"
class=
"minicart-wrapper"
>
<div
data-block=
"minicart"
class=
"minicart-wrapper"
>
<a
class=
"action showcart"
href=
"
<?=
$block
->
escapeUrl
(
$block
->
getShoppingCartUrl
())
?>
"
<a
class=
"action showcart"
href=
"
<?=
$block
->
escapeUrl
(
$block
->
getShoppingCartUrl
())
?>
"
data-bind=
"scope: 'minicart_content'"
>
data-bind=
"scope: 'minicart_content'"
>
...
@@ -35,6 +34,7 @@
...
@@ -35,6 +34,7 @@
"
triggerClass
":"
active
",
"
triggerClass
":"
active
",
"
parentClass
":"
active
",
"
parentClass
":"
active
",
"
buttons
":[]}}'>
"
buttons
":[]}}'>
<div id="
minicart
-
content
-
wrapper
" data-bind="
scope
:
'minicart_content'
">
<div id="
minicart
-
content
-
wrapper
" data-bind="
scope
:
'minicart_content'
">
<!-- ko template: getTemplate() --><!-- /ko -->
<!-- ko template: getTemplate() --><!-- /ko -->
</div>
</div>
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/cart/totals.phtml
0 → 100644
View file @
5c3589ce
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
?>
<?php
/**
* Shopping cart totals template
* @var $block \Magento\Checkout\Block\Cart\Totals
*/
$code
=
$block
->
getQuote
()
->
getCouponCode
();
$subtotal
=
0
;
if
(
$code
==
null
)
{
$subtotal
=
$block
->
getQuote
()
->
getSubtotalWithDiscount
();
}
else
{
$subtotal
=
$block
->
getQuote
()
->
getBaseSubtotalWithDiscount
();
}
//获取商品总价格
$total
=
$block
->
getQuote
()
->
getSubtotal
();
$discount
=
0
;
if
(
$total
>
$subtotal
)
{
$discount
=
$total
-
$subtotal
;
$discountStr
=
$block
->
escapeHtml
(
$this
->
helper
(
Magento\Checkout\Helper\Data
::
class
)
->
formatPrice
(
$discount
),
[
'span'
]
);
}
$subtotalStr
=
$block
->
escapeHtml
(
$this
->
helper
(
Magento\Checkout\Helper\Data
::
class
)
->
formatPrice
(
$subtotal
),
[
'span'
]
);
?>
<div
id=
"cart-totals"
class=
"cart-totals"
data-bind=
"scope:'block-totals'"
>
<?php
if
(
$discount
>
0
)
:
?>
<div
class=
"discount-area"
>
<div
class=
"discount-title"
>
discount
</div>
<div
class=
"discount-price"
>
-
<?=
$discountStr
?>
</div>
</div>
<?php
endif
;
?>
<div
class=
"total-area"
>
<div
class=
"total-title"
>
Total
</div>
<div
class=
"total-price"
>
<?=
$subtotalStr
?>
</div>
</div>
</div>
app/design/frontend/Joshine/breeze/Magento_Checkout/templates/onepage/link.phtml
View file @
5c3589ce
...
@@ -15,7 +15,7 @@ use Magento\Framework\Escaper;
...
@@ -15,7 +15,7 @@ use Magento\Framework\Escaper;
<?php
if
(
$block
->
isPossibleOnepageCheckout
())
:
?>
<?php
if
(
$block
->
isPossibleOnepageCheckout
())
:
?>
<button
type=
"button"
<button
type=
"button"
data-role=
"proceed-to-checkout"
data-role=
"proceed-to-checkout"
title=
"
<?=
$escaper
->
escapeHtmlAttr
(
__
(
'Checkout
Now
'
))
?>
"
title=
"
<?=
$escaper
->
escapeHtmlAttr
(
__
(
'Checkout'
))
?>
"
data-mage-init=
'{
data-mage-init=
'{
"Magento_Checkout/js/proceed-to-checkout":{
"Magento_Checkout/js/proceed-to-checkout":{
"checkoutUrl":"
<?=
$escaper
->
escapeJs
(
$block
->
getCheckoutUrl
())
?>
"
"checkoutUrl":"
<?=
$escaper
->
escapeJs
(
$block
->
getCheckoutUrl
())
?>
"
...
@@ -24,8 +24,12 @@ use Magento\Framework\Escaper;
...
@@ -24,8 +24,12 @@ use Magento\Framework\Escaper;
class=
"action primary checkout
<?=
(
$block
->
isDisabled
())
?
' disabled'
:
''
?>
"
class=
"action primary checkout
<?=
(
$block
->
isDisabled
())
?
' disabled'
:
''
?>
"
<?php
if
(
$block
->
isDisabled
())
:
?>
<?php
if
(
$block
->
isDisabled
())
:
?>
disabled=
"disabled"
disabled=
"disabled"
<?php
endif
;
?>
style=
" background: #0000; height: 40px;font-size: 22px;text-transform: uppercase;font-weight: 400;"
>
<?php
endif
;
?>
style=
"background: #7E6452; height: 40px;font-size: 16px;font-weight: 400;"
>
<span
data-v-20221108=
""
class=
"secure"
><img
data-v-b14bd780=
""
alt=
""
src=
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAA3CAYAAAClxaIBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMyODNDODA2MkIwNTExRUNCNUFCRkFGMzY4RjkyOTdCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMyODNDODA3MkIwNTExRUNCNUFCRkFGMzY4RjkyOTdCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzI4M0M4MDQyQjA1MTFFQ0I1QUJGQUYzNjhGOTI5N0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzI4M0M4MDUyQjA1MTFFQ0I1QUJGQUYzNjhGOTI5N0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7niMRCAAAEKklEQVR42tSaW0gVQRjHt01SwiyTJKuHiugiEVIUVhBlPRRBN7ppUCT2EGVB0A2SoB6iJ596iPJBLJPM7B5SdDXNyjIxy0iLIsEoNYuu1vb/8DuwnM7OzszZPR7/8FNxZ3b2f+ab2ZlvTj/LsgyPlQhWgvlgNkgAXaAS3ABnQIenLZIJj0gGB8EHSyy6fgCM9KptL24yCOwFbZaaPnG9xN40EQ+2gxYrPL0DO/l+Ws/ST2NMDAM5YBMY42Fkt4BCUADeq1RUMTELrAVZIMnwT1/AKTZU5YWJiWAxWAOmG5HXA1AKroM6WRNxIJ1ZAqaCWKP3RQ9ZDS6AGnAf/LCbSMPvuWAeSAXjjOhXM2jk984tMvEUf0wx+q7qTX6b9mV9Nu2x1Uf1g0z8jsYQAY9AJq+/RPpp8rwcbQYaeEovAfEu5btMz1eU4RugN/Y62/9GuNRpj8GPzigx8Bjs5hebXaNc6nWQidYoMbCReyLUWk2k92TiXRQYoPB54XB9iEv9t6bqitGHMbBdYIBkCq79okgyOZxae8nAYd62Cgeu4NqbQE+08lo+0gbOgWKJsq9dTHSQib/gVYRNvAT7JctWOQx40nN7vNVFeI+QqVj+l8O1WruJ2giGUR7oVqgzQ7BIrbGnbAaCdstfPQVHFBIA48FVrhdKTYGyMezoG7taqPnpdvMsskC02gRbJO+5A2xw2efcCzUH39U0cAtM40brBeXyJe9ZIGGAdDNUBjBNMTQucpfb75HvUL5cMoTOC8LHru8gySl51ijx8NVghcND0Nh6EqLOOAkD1yQNkM7Z6wa/0ktdQqcMzARnHcrQ2CoPCqtKiffQNZCssNcvESWUJwvcD1WYWWptveCWnqxQ6AFSJ+d/HXuigfM7obReYcAXcm9cAV8F5S6D4YrZlqL/dqMhPplMwXh4CHIke4PGToLgepFiDwQ0SSYrPgC8kZiZkl1MjBVcy9c0UKGS2t8qcUOahVZrpOKzNQ2QMlRMxEqc+AR65ZCCgbQwDNzmKVzpkGWbwovvpISBATxOdJUOTFUT/UGzgpHzLibKwzBwTHRv0f71D8iVnPZoihwNrjpc3wPGai7fKS+2S5z4dw+DYsU11eWg+qlhjANLZvKQMTEYdCgaKQtaE+nqksyEESOTOgeb+RxNNrRIR/kwJFkzjGg3ly13jiQ/PR63IqtFfpxjm7zsiITy/DzHTuHMiG6IyIjCNkulgs5hfBqvdON8MEBb5DmqlUyNhqgnlvlgoMnoOTM3ImGCVKGYAHMTpVEzdE+tzDAapi3iKg8MPDN6ztG1k9pmmA9AX8CiQ/w2zfp32EB4ZyQefXGKshn1itPoSSuKvrRlX/UWShrY52G7npoIkMvJrVD6CJZ43aYfJogJ4HSQgRMgxY/2dF52KloOlnKy7YJfjfwTYAD0328CQiS8EQAAAABJRU5ErkJggg=="
></span>
<!--
<span>
<?=
$escaper
->
escapeHtml
(
__
(
'Checkout Now'
))
?>
</span>
<span data-v-20221108="" class="secure">
<img data-v-b14bd780="" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAA3CAYAAAClxaIBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMyODNDODA2MkIwNTExRUNCNUFCRkFGMzY4RjkyOTdCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMyODNDODA3MkIwNTExRUNCNUFCRkFGMzY4RjkyOTdCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzI4M0M4MDQyQjA1MTFFQ0I1QUJGQUYzNjhGOTI5N0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzI4M0M4MDUyQjA1MTFFQ0I1QUJGQUYzNjhGOTI5N0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7niMRCAAAEKklEQVR42tSaW0gVQRjHt01SwiyTJKuHiugiEVIUVhBlPRRBN7ppUCT2EGVB0A2SoB6iJ596iPJBLJPM7B5SdDXNyjIxy0iLIsEoNYuu1vb/8DuwnM7OzszZPR7/8FNxZ3b2f+ab2ZlvTj/LsgyPlQhWgvlgNkgAXaAS3ABnQIenLZIJj0gGB8EHSyy6fgCM9KptL24yCOwFbZaaPnG9xN40EQ+2gxYrPL0DO/l+Ws/ST2NMDAM5YBMY42Fkt4BCUADeq1RUMTELrAVZIMnwT1/AKTZU5YWJiWAxWAOmG5HXA1AKroM6WRNxIJ1ZAqaCWKP3RQ9ZDS6AGnAf/LCbSMPvuWAeSAXjjOhXM2jk984tMvEUf0wx+q7qTX6b9mV9Nu2x1Uf1g0z8jsYQAY9AJq+/RPpp8rwcbQYaeEovAfEu5btMz1eU4RugN/Y62/9GuNRpj8GPzigx8Bjs5hebXaNc6nWQidYoMbCReyLUWk2k92TiXRQYoPB54XB9iEv9t6bqitGHMbBdYIBkCq79okgyOZxae8nAYd62Cgeu4NqbQE+08lo+0gbOgWKJsq9dTHSQib/gVYRNvAT7JctWOQx40nN7vNVFeI+QqVj+l8O1WruJ2giGUR7oVqgzQ7BIrbGnbAaCdstfPQVHFBIA48FVrhdKTYGyMezoG7taqPnpdvMsskC02gRbJO+5A2xw2efcCzUH39U0cAtM40brBeXyJe9ZIGGAdDNUBjBNMTQucpfb75HvUL5cMoTOC8LHru8gySl51ijx8NVghcND0Nh6EqLOOAkD1yQNkM7Z6wa/0ktdQqcMzARnHcrQ2CoPCqtKiffQNZCssNcvESWUJwvcD1WYWWptveCWnqxQ6AFSJ+d/HXuigfM7obReYcAXcm9cAV8F5S6D4YrZlqL/dqMhPplMwXh4CHIke4PGToLgepFiDwQ0SSYrPgC8kZiZkl1MjBVcy9c0UKGS2t8qcUOahVZrpOKzNQ2QMlRMxEqc+AR65ZCCgbQwDNzmKVzpkGWbwovvpISBATxOdJUOTFUT/UGzgpHzLibKwzBwTHRv0f71D8iVnPZoihwNrjpc3wPGai7fKS+2S5z4dw+DYsU11eWg+qlhjANLZvKQMTEYdCgaKQtaE+nqksyEESOTOgeb+RxNNrRIR/kwJFkzjGg3ly13jiQ/PR63IqtFfpxjm7zsiITy/DzHTuHMiG6IyIjCNkulgs5hfBqvdON8MEBb5DmqlUyNhqgnlvlgoMnoOTM3ImGCVKGYAHMTpVEzdE+tzDAapi3iKg8MPDN6ztG1k9pmmA9AX8CiQ/w2zfp32EB4ZyQefXGKshn1itPoSSuKvrRlX/UWShrY52G7npoIkMvJrVD6CJZ43aYfJogJ4HSQgRMgxY/2dF52KloOlnKy7YJfjfwTYAD0328CQiS8EQAAAABJRU5ErkJggg==">
</span>
-->
<span>
<?=
$escaper
->
escapeHtml
(
__
(
'Checkout'
))
?>
</span>
</button>
</button>
<?php
endif
?>
<?php
endif
?>
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/minicart/content.html
View file @
5c3589ce
...
@@ -4,17 +4,18 @@
...
@@ -4,17 +4,18 @@
* See COPYING.txt for license details.
* See COPYING.txt for license details.
*/
*/
-->
-->
<div
class=
"block-title"
>
<if
args=
"getCartParam('summary_count')"
>
<div
class=
"block-title"
>
<strong>
<strong>
<span
<span
class=
"trade-cart-banner--product-title--icon"
>
class=
"qty empty"
<svg
aria-hidden=
"true"
focusable=
"false"
role=
"presentation"
width=
"18"
height=
"13"
viewBox=
"0 0 18 13"
xmlns=
"http://www.w3.org/2000/svg"
>
text=
"getCartParam('summary_count')"
<path
fill=
"currentColor"
fill-rule=
"evenodd"
d=
"M6.23 9.1L2.078 5.2 0 7.15 6.23 13 18 1.95 15.923 0z"
></path>
data-bind=
"css: { empty: !!getCartParam('summary_count') == false },
</svg>
attr: { title: $t('Items in Cart') }"
>
</span>
</span>
Added to your cart
</strong>
</strong>
</div>
</div>
</if>
<div
class=
"block-content"
>
<div
class=
"block-content"
>
<button
type=
"button"
<button
type=
"button"
id=
"btn-minicart-close"
id=
"btn-minicart-close"
...
@@ -44,13 +45,6 @@
...
@@ -44,13 +45,6 @@
<div
class=
"items-total"
style=
"display: block;font-size: inherit;font-family: 'Outfit-Regular';"
>
<div
class=
"items-total"
style=
"display: block;font-size: inherit;font-family: 'Outfit-Regular';"
>
<span
class=
"count"
if=
"maxItemsToDisplay < getCartLineItemsCount()"
text=
"maxItemsToDisplay"
></span>
<span
class=
"count"
if=
"maxItemsToDisplay < getCartLineItemsCount()"
text=
"maxItemsToDisplay"
></span>
<translate
args=
"'of'"
if=
"maxItemsToDisplay < getCartLineItemsCount()"
></translate>
<translate
args=
"'of'"
if=
"maxItemsToDisplay < getCartLineItemsCount()"
></translate>
<span
class=
"count"
text=
"getCartParam('summary_count')"
></span>
<!-- ko if: (getCartParam('summary_count') > 1) -->
<span
translate=
"'Items in Cart'"
></span>
<!--/ko-->
<!-- ko if: (getCartParam('summary_count') === 1) -->
<span
translate=
"'Item in Cart'"
></span>
<!--/ko-->
<each
args=
"getRegion('subtotalContainer')"
render=
""
></each>
<each
args=
"getRegion('subtotalContainer')"
render=
""
></each>
</div>
</div>
...
@@ -61,22 +55,28 @@
...
@@ -61,22 +55,28 @@
<if
args=
"getCartParam('cart_empty_message')"
>
<if
args=
"getCartParam('cart_empty_message')"
>
<p
class=
"minicart empty text"
text=
"getCartParam('cart_empty_message')"
></p>
<p
class=
"minicart empty text"
text=
"getCartParam('cart_empty_message')"
></p>
<div
class=
"actions"
>
<div
class=
"actions"
>
<div
class=
"secondary"
>
<a
class=
"action viewcart"
data-bind=
"attr: {href: shoppingCartUrl}"
>
<a
class=
"action viewcart"
data-bind=
"attr: {href: shoppingCartUrl}"
>
<div
class=
"secondary"
>
<span
translate=
"'View and Edit Cart'"
></span>
<span
translate=
"'View and Edit Cart'"
></span>
</a>
</div>
</div>
</a>
</div>
</div>
</if>
</if>
</ifnot>
</ifnot>
<div
class=
"actions"
if=
"getCartParam('summary_count')"
>
<div
class=
"actions minidiv"
if=
"getCartParam('summary_count')"
>
<div
class=
"secondary"
style=
"background: #ffa800;width: 100%;color: #fff;font-size: 18px;height: 35px;"
>
<a
class=
"action viewcart"
data-bind=
"attr: {href: shoppingCartUrl}"
style=
"vertical-align: sub;color: #ffff;"
>
<a
class=
"action viewcart"
data-bind=
"attr: {href: shoppingCartUrl}"
style=
"vertical-align: sub;color: #ffff;"
>
<span
translate=
"'View and Edit Cart'"
></span>
<div
class=
"secondary"
style=
"background-color: #FAF3FA;width: 100%;color: #7E6452;font-size: 16px;height: 40px;line-height: 40px;border: 1px solid #7E6452;"
>
<span
class=
"exin"
translate=
"'View and Edit Cart'"
></span><span
class=
"exin"
>
(
<span
class=
"count"
text=
"getCartParam('summary_count')"
></span>
)
</span>
</div>
</a>
</a>
</div>
</div>
<div
class=
"actions minidiv"
if=
"getCartParam('summary_count')"
>
<a
class=
"action checkoutbtn"
data-bind=
"attr: {href: checkoutUrl}"
style=
"vertical-align: sub;color: #ffff;"
>
<div
class=
"secondary"
style=
"background-color: #7E6452;width: 100%;font-size: 16px;height: 40px;line-height: 40px;"
>
<span
class=
"exin"
>
checkout
</span>
</div>
</a>
</div>
</div>
<div
id=
"minicart-widgets"
class=
"minicart-widgets"
if=
"regionHasElements('promotion')"
>
<div
id=
"minicart-widgets"
class=
"minicart-widgets"
if=
"regionHasElements('promotion')"
>
<each
args=
"getRegion('promotion')"
render=
""
></each>
<each
args=
"getRegion('promotion')"
render=
""
></each>
</div>
</div>
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/minicart/item/default.html
View file @
5c3589ce
...
@@ -30,9 +30,30 @@
...
@@ -30,9 +30,30 @@
<span
data-bind=
"html: $parent.getProductNameUnsanitizedHtml(product_name)"
></span>
<span
data-bind=
"html: $parent.getProductNameUnsanitizedHtml(product_name)"
></span>
<!-- /ko -->
<!-- /ko -->
</strong>
</strong>
<!-- ko if: options.length -->
<div
class=
"product options"
>
<div
data-role=
"content"
class=
"content"
>
<dl
class=
"product options list"
>
<!-- ko foreach: { data: options, as: 'option' } -->
<dt
class=
"label"
>
<!-- ko text: option.label --><!-- /ko -->
</dt>
<dd
class=
"values"
>
<!-- ko if: Array.isArray(option.value) -->
<span
data-bind=
"html: $parents[1].getOptionValueUnsanitizedHtml(option.value.join('<br/>'))"
></span>
<!-- /ko -->
<!-- ko if: (!Array.isArray(option.value) && ['file', 'html'].includes(option.option_type)) -->
<span
data-bind=
"html: $parents[1].getOptionValueUnsanitizedHtml(option.value)"
></span>
<!-- /ko -->
<!-- ko if: (!Array.isArray(option.value) && !['file', 'html'].includes(option.option_type)) -->
<span
data-bind=
"text: option.value"
></span>
<!-- /ko -->
</dd>
<!-- /ko -->
</dl>
</div>
</div>
<!-- /ko -->
<div
class=
"product-item-pricing"
style=
"font-size: 18px;"
>
<div
class=
"product-item-pricing"
>
<div
class=
"details-qty qty"
>
<div
class=
"details-qty qty"
>
<span
class=
"qty-wrapper"
data-bind=
"html: qty"
></span>
*
<span
class=
"qty-wrapper"
data-bind=
"html: qty"
></span>
*
<!-- ko if: canApplyMsrp -->
<!-- ko if: canApplyMsrp -->
...
@@ -49,7 +70,7 @@
...
@@ -49,7 +70,7 @@
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</div>
</div>
<!--
<div class="product actions">
<div class="product actions">
<div class="secondary">
<div class="secondary">
<a href="#" data-bind="attr: {'data-cart-item': item_id, title: $t('Remove item')}"
<a href="#" data-bind="attr: {'data-cart-item': item_id, title: $t('Remove item')}"
...
@@ -58,6 +79,7 @@
...
@@ -58,6 +79,7 @@
</a>
</a>
</div>
</div>
</div>
</div>
-->
</div>
</div>
</div>
</div>
<div
class=
"message notice"
if=
"$data.message"
>
<div
class=
"message notice"
if=
"$data.message"
>
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/minicart/subtotal.html
View file @
5c3589ce
...
@@ -4,11 +4,14 @@
...
@@ -4,11 +4,14 @@
* See COPYING.txt for license details.
* See COPYING.txt for license details.
*/
*/
-->
-->
<div
class=
"subtotal"
style=
"width: 47%;float: right;"
>
<div
class=
"subtotal"
>
<span
class=
"label"
>
<span
class=
"label"
style=
"
<!-- ko i18n: 'Cart Subtotal' --><!-- /ko -->
font-size: 18px;
color: gray;
"
>
<!-- ko i18n: 'Cart subtotal' --><!-- /ko -->
</span>
</span>
:
<!-- ko foreach: elems -->
<!-- ko foreach: elems -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!-- ko template: getTemplate() --><!-- /ko -->
<!-- /ko -->
<!-- /ko -->
...
...
app/design/frontend/Joshine/breeze/Magento_Checkout/web/template/summary/cart-items.html
View file @
5c3589ce
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<div
class=
"actions-toolbar"
if=
"maxCartItemsToDisplay < getCartLineItemsCount()"
>
<div
class=
"actions-toolbar"
if=
"maxCartItemsToDisplay < getCartLineItemsCount()"
>
<div
class=
"secondary"
>
<div
class=
"secondary"
>
<a
class=
"action viewcart"
data-bind=
"attr: {href: cartUrl}"
>
<a
class=
"action viewcart"
data-bind=
"attr: {href: cartUrl}"
>
<span
data-bind=
"i18n: 'View and Edit Cart'"
></span>
<span
data-bind=
"i18n: 'View and Edit Cart'
i18n: 'View and Edit Cart'
"
></span>
</a>
</a>
</div>
</div>
</div>
</div>
...
...
app/design/frontend/Joshine/breeze/Magento_Paypal/templates/express/shortcut.phtml
View file @
5c3589ce
...
@@ -26,8 +26,24 @@ if ($block->getIsInCatalogProduct()) {
...
@@ -26,8 +26,24 @@ if ($block->getIsInCatalogProduct()) {
$isInCatalogProduct
=
$block
->
getIsInCatalogProduct
();
$isInCatalogProduct
=
$block
->
getIsInCatalogProduct
();
}
}
?>
?>
<?php
if
(
strpos
(
$block
->
escapeUrl
(
$block
->
getImageUrl
()),
'checkout-logo-medium'
)
!==
false
){
$imgsrc
=
$block
->
getViewFileUrl
(
'Magento_Paypal::images/paypal-color.svg'
);
$class
=
'checkout-logo-medium'
;
$classFirst
=
''
;
}
else
{
$imgsrc
=
$block
->
getViewFileUrl
(
'Magento_Paypal::images/paypal-credit.png'
);
$class
=
'paypal-credit displayno'
;
$classFirst
=
'displayno'
;
}
?>
<div
data-label=
"
<?=
$block
->
escapeHtml
(
__
(
'or'
))
?>
"
<div
data-label=
"
<?=
$block
->
escapeHtml
(
__
(
'or'
))
?>
"
class=
"paypal checkout
<?=
/* @noEscape */
$labelPosition
?>
paypal-logo
class=
"paypal checkout
<?=
/* @noEscape */
$labelPosition
?>
<?=
/* @noEscape */
$classFirst
?>
paypal-logo
<?=
/* @noEscape */
$shortcutHtmlId
?>
"
<?=
/* @noEscape */
$shortcutHtmlId
?>
"
data-mage-init=
'{
data-mage-init=
'{
"paypalCheckout": {
"paypalCheckout": {
...
@@ -36,15 +52,6 @@ if ($block->getIsInCatalogProduct()) {
...
@@ -36,15 +52,6 @@ if ($block->getIsInCatalogProduct()) {
}
}
}'
}'
>
>
<?php
if
(
strpos
(
$block
->
escapeUrl
(
$block
->
getImageUrl
()),
'checkout-logo-medium'
)
!==
false
){
$imgsrc
=
$block
->
getViewFileUrl
(
'Magento_Paypal::images/paypal-color.svg'
);
$class
=
'checkout-logo-medium'
;
}
else
{
$imgsrc
=
$block
->
getViewFileUrl
(
'Magento_Paypal::images/paypal-credit.png'
);
$class
=
'paypal-credit displayno'
;
}
?>
<div
class=
"
<?=
$class
?>
"
>
<div
class=
"
<?=
$class
?>
"
>
<input
type=
"image"
data-action=
"checkout-form-submit"
<input
type=
"image"
data-action=
"checkout-form-submit"
data-checkout-url=
"
<?=
$block
->
escapeUrl
(
$block
->
getCheckoutUrl
())
?>
"
data-checkout-url=
"
<?=
$block
->
escapeUrl
(
$block
->
getCheckoutUrl
())
?>
"
...
@@ -57,6 +64,6 @@ if ($block->getIsInCatalogProduct()) {
...
@@ -57,6 +64,6 @@ if ($block->getIsInCatalogProduct()) {
<img
src=
"
<?=
$block
->
escapeHtml
(
$linkImage
[
'src'
])
?>
"
/>
<img
src=
"
<?=
$block
->
escapeHtml
(
$linkImage
[
'src'
])
?>
"
/>
</a>
</a>
<?php
endif
;
?>
<?php
endif
;
?>
<div
class=
"checkout-txt"
>
Checkout
</div>
<div
class=
"checkout-txt"
style=
"display:contents;"
>
</div>
</div>
</div>
</div>
</div>
app/design/frontend/Joshine/breeze/Magento_Search/templates/form.mini.phtml
View file @
5c3589ce
...
@@ -61,19 +61,3 @@ $quickSearchUrl = $allowedSuggestion ? $escaper->escapeUrl($helper->getSuggestUr
...
@@ -61,19 +61,3 @@ $quickSearchUrl = $allowedSuggestion ? $escaper->escapeUrl($helper->getSuggestUr
</form>
</form>
</div>
</div>
</div>
</div>
<script>
require
([
'jquery'
],
function
(
$
)
{
$
(
"#search"
).
on
(
"focus"
,
function
()
{
$
(
this
).
css
(
"width"
,
"500px"
).
css
(
"font-size"
,
"20px"
);
});
$
(
'#search'
).
on
(
'blur'
,
function
(){
if
(
!
$
(
this
).
val
()){
$
(
this
).
attr
(
"style"
,
""
);
}
});
});
</script>
app/design/frontend/Joshine/breeze/Magento_Swatches/web/js/swatch-renderer.js
View file @
5c3589ce
...
@@ -451,8 +451,8 @@ define([
...
@@ -451,8 +451,8 @@ define([
if
(
item
.
id
==
137
)
{
if
(
item
.
id
==
137
)
{
// Create new control
// Create new control
var
sizeContent
=
'<div class="swatch-attribute-selected-option-size-content" style="display:block;">'
+
var
sizeContent
=
'<div class="swatch-attribute-selected-option-size-content" style="display:block;">'
+
'<div
style="font-size:.32rem;color:#999999;"
>'
+
$
.
mage
.
__
(
"Product Size Describe"
)
+
'</div>'
+
'<div>'
+
$
.
mage
.
__
(
"Product Size Describe"
)
+
'</div>'
+
'<span
style="color:#0a0a0a;"
class="'
+
classes
.
attributeSelectedOptionLabelClass
+
'">'
+
item
.
options
[
0
].
label
+
'</span></div>'
;
'<span class="'
+
classes
.
attributeSelectedOptionLabelClass
+
'">'
+
item
.
options
[
0
].
label
+
'</span></div>'
;
container
.
append
(
container
.
append
(
'<div class="'
+
classes
.
attributeClass
+
' '
+
item
.
code
+
'" '
+
'<div class="'
+
classes
.
attributeClass
+
' '
+
item
.
code
+
'" '
+
...
...
app/design/frontend/Joshine/breeze/etc/view.xml
View file @
5c3589ce
...
@@ -12,8 +12,8 @@
...
@@ -12,8 +12,8 @@
<height>
375
</height>
<height>
375
</height>
</image>
</image>
<image
id=
"cart_page_product_thumbnail"
type=
"small_image"
>
<image
id=
"cart_page_product_thumbnail"
type=
"small_image"
>
<width>
96
</width>
<width>
150
</width>
<height>
1
20
</height>
<height>
1
99
</height>
</image>
</image>
<image
id=
"category_page_grid"
type=
"small_image"
>
<image
id=
"category_page_grid"
type=
"small_image"
>
<width>
400
</width>
<width>
400
</width>
...
@@ -272,7 +272,7 @@
...
@@ -272,7 +272,7 @@
</vars>
</vars>
<!-- Bundles are always generated by Magento regardless of config value -->
<!-- Bundles are always generated by Magento regardless of config value -->
<vars
module=
"Js_Bundle"
>
<vars
module=
"Js_Bundle"
>
<var
name=
"bundle_size"
>
2
MB
</var>
<var
name=
"bundle_size"
>
1
MB
</var>
</vars>
</vars>
<exclude>
<exclude>
<item
type=
"file"
>
Lib::chartjs/Chart.min.js
</item>
<item
type=
"file"
>
Lib::chartjs/Chart.min.js
</item>
...
...
app/design/frontend/Joshine/breeze/web/css/_custom.less
View file @
5c3589ce
...
@@ -647,6 +647,14 @@ p.shopbycate-title {
...
@@ -647,6 +647,14 @@ p.shopbycate-title {
.top-content-home{
.top-content-home{
width: 100%;
width: 100%;
}
}
.top-content-home:after {
clear: both;
content: ' ';
display: block;
font-size: 0;
height: 0;
visibility: hidden;
}
.banner-4-cate{
.banner-4-cate{
width: 25%;
width: 25%;
float: left;
float: left;
...
@@ -680,6 +688,11 @@ p.shopbycate-title {
...
@@ -680,6 +688,11 @@ p.shopbycate-title {
.page-footer .footer_menu a,
.page-footer .footer_menu a,
.container-before-footer.clearfix a:visited {color:#000;}
.container-before-footer.clearfix a:visited {color:#000;}
.container-before-footer .row {
display: flex;
flex-wrap: wrap;
align-items: end;
}
.select-element.section-before-footer.clearfix {
.select-element.section-before-footer.clearfix {
text-align: center;
text-align: center;
...
@@ -710,6 +723,7 @@ p.shopbycate-title {
...
@@ -710,6 +723,7 @@ p.shopbycate-title {
.baozhang_before_footer img {opacity: 0.7;}
.baozhang_before_footer img {opacity: 0.7;}
.checkout-cart-index input[type="number"]::-webkit-inner-spin-button,
.checkout-cart-index input[type="number"]::-webkit-inner-spin-button,
.checkout-cart-index input[type="number"]::-webkit-outer-spin-button {
.checkout-cart-index input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
-webkit-appearance: none;
...
@@ -729,7 +743,11 @@ p.shopbycate-title {
...
@@ -729,7 +743,11 @@ p.shopbycate-title {
font-size: 18px;
font-size: 18px;
font-weight: bold;
font-weight: bold;
cursor:pointer;
cursor:pointer;
color: #0000ff;
color: #000000;
}
.checkout-cart-index #maincontent{
background-color:#FFFFFF;
border-top:1px solid #ddd;
}
}
.checkout-cart-index #maincontent .columns #block-shipping{
.checkout-cart-index #maincontent .columns #block-shipping{
margin-top:0;
margin-top:0;
...
@@ -752,6 +770,10 @@ p.shopbycate-title {
...
@@ -752,6 +770,10 @@ p.shopbycate-title {
height: 40px;
height: 40px;
display: inline-block;
display: inline-block;
}
}
.checkout-cart-index .checkout.checkout-methods-items div,.checkout-cart-index .checkout-logo-medium input{
height:40px;
width:100%;
}
@media (min-width: 1024px){
@media (min-width: 1024px){
.cart.item .item-info td.col.item {
.cart.item .item-info td.col.item {
width: 50%;
width: 50%;
...
@@ -773,11 +795,9 @@ p.shopbycate-title {
...
@@ -773,11 +795,9 @@ p.shopbycate-title {
background: url("../images/icons-pc.png");
background: url("../images/icons-pc.png");
background-position-x: -160px;
background-position-x: -160px;
}
}
.checkout-cart-index .checkout.checkout-methods-items div{
height:auto;
}
.checkout-cart-index #cart-totals {
.checkout-cart-index #cart-totals {
padding-bottom:
2rem
;
padding-bottom:
0
;
}
}
.checkout-cart-index #cart-totals .table-wrapper table tr {
.checkout-cart-index #cart-totals .table-wrapper table tr {
border-bottom:none;
border-bottom:none;
...
@@ -832,7 +852,11 @@ p.shopbycate-title {
...
@@ -832,7 +852,11 @@ p.shopbycate-title {
.checkout-cart-index .cart-container .checkout-methods-items .checkout-now button{
.checkout-cart-index .cart-container .checkout-methods-items .checkout-now button{
height: 50px;
height: 50px;
}
}
.checkout-cart-index #maincontent,.checkout-onepage-success #maincontent{
.checkout-cart-index .cart-container .checkout-methods-items{
padding:0px 1rem;
}
.checkout-onepage-success #maincontent{
background-color: #f4f4f4;
background-color: #f4f4f4;
border-top:1px solid #ddd;
border-top:1px solid #ddd;
}
}
...
@@ -864,24 +888,9 @@ p.shopbycate-title {
...
@@ -864,24 +888,9 @@ p.shopbycate-title {
padding: 18px 15px;
padding: 18px 15px;
border-bottom: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
}
.checkout-cart-index .column.main .block .title
{
border-bottom: 1px solid #ddd;
}
.checkout-cart-index .column.main .block .title {
.checkout-cart-index .column.main .block .title {
padding: 0.6rem 1rem;
padding: 0.6rem 1rem;
}
}
.checkout-cart-index .cart-container .cart-summary > .title,
.checkout-cart-index .column.main .block .title,
.checkout-cart-index .cart-container .cart-summary #block-summary,
.checkout-cart-index .cart-container #cart-totals,
.checkout-cart-index .cart-container #block-discount,
.checkout-cart-index .checkout-methods-items .item
{
background-color: #ffffff;
}
.block-minicart .subtotal {
.block-minicart .subtotal {
margin-right: 1rem;
margin-right: 1rem;
}
}
...
@@ -893,14 +902,34 @@ p.shopbycate-title {
...
@@ -893,14 +902,34 @@ p.shopbycate-title {
animation-play-state: paused;
animation-play-state: paused;
top: 45%;
top: 45%;
left: 45%;
left: 45%;
}
.checkout-cart-index .checkout-methods-items {
background-color: #fff;
}
}
.free-over{
.free-over{
font-size: 16px;
font-size: 16px;
color: #000;
color: #000;
}
}
}
.checkout-cart-index .total-area,.checkout-cart-index .discount-area {
display: flex;
font-weight: 400;
justify-content: space-between;
width: 100%;
padding: 2px 0px;
font-size: 20px;
}
.amount.price-container {
font-size: 20px;
margin-left: 10px;
}
div#cart-totals{
margin-bottom: 20px;
}
.discount-area{
color:#fa320f;
}
}
.recently-viewed .product-info-promotion-span{
.recently-viewed .product-info-promotion-span{
position: absolute;
position: absolute;
...
@@ -910,10 +939,25 @@ p.shopbycate-title {
...
@@ -910,10 +939,25 @@ p.shopbycate-title {
}
}
.checkout-cart-index .cart-container .cart-summary {
.checkout-cart-index .cart-container .cart-summary {
gap: 0px;
gap: 0px;
background-color: rgba(0,0,0,.03);
padding-bottom: 1rem;
}
.checkout-cart-index #discount-coupon-form .fieldset{
margin-bottom:0px;
}
.checkout-cart-index #block-discount .content{
padding:0px 1rem;
}
}
@media (max-width: 768px){
@media (max-width: 768px){
.checkout-cart-index .cart-container .cart-summary {
.checkout-cart-index .cart-container .cart-summary {
margin:0;
margin:0;
background-color: #ffffff;
}
.checkout-cart-index #block-discount .content{
padding:0;
}
.checkout-cart-index #discount-coupon-form .actions-toolbar{
font-size: 14px;
}
}
.checkout-index-index .method-content .method-msg{
.checkout-index-index .method-content .method-msg{
padding: 5px 0 5px 2.2rem;
padding: 5px 0 5px 2.2rem;
...
@@ -947,6 +991,9 @@ p.shopbycate-title {
...
@@ -947,6 +991,9 @@ p.shopbycate-title {
padding: 0px!important;
padding: 0px!important;
gap: 0.5rem;
gap: 0.5rem;
}
}
.checkout-cart-index .button-static{
margin-bottom:0rem!important;
}
.checkout-now.button-static .now-grand-total{
.checkout-now.button-static .now-grand-total{
display: none;
display: none;
}
}
...
@@ -954,10 +1001,10 @@ p.shopbycate-title {
...
@@ -954,10 +1001,10 @@ p.shopbycate-title {
border: none;
border: none;
}
}
.checkout-cart-index .cart-container .checkout-methods-items{
.checkout-cart-index .cart-container .checkout-methods-items{
margin-top:
2rem
;
margin-top:
0
;
}
}
.checkout-cart-index .cart-container .checkout-methods-items .checkout-now{
.checkout-cart-index .cart-container .checkout-methods-items .checkout-now{
z-index:
1
;
z-index:
2
;
gap: 0rem;
gap: 0rem;
margin-bottom: 0px;padding: 0px 10px 10px;
margin-bottom: 0px;padding: 0px 10px 10px;
}
}
...
@@ -1018,6 +1065,7 @@ p.shopbycate-title {
...
@@ -1018,6 +1065,7 @@ p.shopbycate-title {
position: absolute;
position: absolute;
right: 7%;
right: 7%;
}
}
@media (max-width: 768px){
@media (max-width: 768px){
.checkout-index-index .product-item-details .product-item-inner .subtotal {
.checkout-index-index .product-item-details .product-item-inner .subtotal {
right: 13.5%;
right: 13.5%;
...
@@ -1062,7 +1110,7 @@ p.shopbycate-title {
...
@@ -1062,7 +1110,7 @@ p.shopbycate-title {
}
}
}
}
.checkout-index-index .page-footer
,.checkout-cart-index .page-footer
{
.checkout-index-index .page-footer{
background-color: #FFFFFF;
background-color: #FFFFFF;
}
}
.checkout-onepage-success #maincontent{
.checkout-onepage-success #maincontent{
...
@@ -1177,7 +1225,7 @@ p.shopbycate-title {
...
@@ -1177,7 +1225,7 @@ p.shopbycate-title {
}
}
}
}
@media(max-width: 768px){
@media(max-width: 768px){
.checkout-index-index .page-footer
,.checkout-cart-index .page-footer
{
.checkout-index-index .page-footer{
padding-top:0;
padding-top:0;
margin-top:10px;
margin-top:10px;
}
}
...
@@ -1188,14 +1236,22 @@ p.shopbycate-title {
...
@@ -1188,14 +1236,22 @@ p.shopbycate-title {
{
{
border-left: none;
border-left: none;
}
}
}
.checkout-cart-index .checkout-logo-medium {
margin-bottom:0px;
}
.checkout-cart-index .shipping-msg {
font-size:14px;
}
}
@media(min-width: 790px){
@media(min-width: 790px){
.baozhang_before_footer{
.baozhang_before_footer{
margin-top: 30px;
margin-top: 30px;
}
}
.baozhang_before_footer .image_first {margin-top: 10px;}
.checkout-cart-index .continue-content{
padding:0px 1rem;
}
}
}
@media(max-width:789px){
@media(max-width:789px){
.col-md-3.col-xs-12.social_block {
.col-md-3.col-xs-12.social_block {
...
@@ -1207,13 +1263,9 @@ p.shopbycate-title {
...
@@ -1207,13 +1263,9 @@ p.shopbycate-title {
margin-top: 1px;
margin-top: 1px;
padding-top: 40px
padding-top: 40px
}
}
.container-before-footer.clearfix a {
font-size: 70%;
}
.cms-index-index .box-blog{padding-bottom:0;}
.cms-index-index .box-blog{padding-bottom:0;}
.baozhang_before_footer{width: 33.333%;float: left;height: 80px;}
.baozhang_before_footer{width: 33.333%;}
.baozhang_before_footer .image_first {margin-top: 10px;}
.select-element.section-before-footer.clearfix{ padding: 20px 10px;}
.select-element.section-before-footer.clearfix{ padding: 20px 10px;}
.select-element.section-before-footer.clearfix p{height:60px;font-size: 14px;text-transform: lowercase;}
.select-element.section-before-footer.clearfix p{height:60px;font-size: 14px;text-transform: lowercase;}
...
@@ -2066,16 +2118,310 @@ footer{
...
@@ -2066,16 +2118,310 @@ footer{
opacity: 0;
opacity: 0;
visibility: hidden;
visibility: hidden;
}
}
/***********************************minicart edit start*********************************************************/
#minicart-content-wrapper .product-item-details a{
.minicart-wrapper .mage-dropdown-dialog{
width:30rem;
}
.block.block-minicart{
margin:20px;
}
#minicart-content-wrapper .product-item-details a {
width: 100%;
width: 100%;
color: #000000;
font-size: 16px;
line-height: 1.6rem;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-word;
font-weight: 400;
}
#minicart-content-wrapper{
font-family: 'Poppins';
}
.page-header .block .block-title{
font-size: 19px;
font-family: 'Montserrat';
}
.minicart-items .product-item-photo, .minicart-items .product-image-container {
width: 100px!important;
margin-right: 15px!important;
}
#mini-cart li.product-item > div.product .product-item-details{
max-width: 260px;
}
.minicart-items-wrapper #mini-cart{
max-height: 160px;
height: 100%;
overflow: hidden;
}
.minicart-items li.product-item > div.product {
height: 160px;
}
.minicart-items li.product-item > div.product > :nth-child(1) {
max-width: 100%!important;
}
.exin{
display: inline-block;
display: inline-block;
color: #333333;
font-size: 10px;
line-height: 15px;
}
}
.action.viewcart .secondary:hover{
box-shadow: 0px 0px 1px 1px #7F6452;
}
#mini-cart .product-item-details .product.options.list .label{
float:left;
margin-top:0;
margin-right:5px;
}
#mini-cart .product-item-details .product.options.list .values{
color:#888;
font-family: inherit;
display: flex;
}
/***********************************minicart edit end*********************************************************/
/***********************************cart style start**********************************************************/
.free_message{
margin-left: .7rem;
text-align: left;
}
.free_message.tddiv{
margin-left: 1.3rem;
}
.free-shipping-area .cart-icon{
float: left;
}
.free-shipping-area .content-wrap{
float: left;
}
.free-shipping-area{
width:100%!important;
order:-3;
padding: 15px;
background-color: #FFFFFF;
color:#000;
}
@media(min-width:768px){
.free-shipping-area{
padding: 10px 10px 10px 20px;
}
.area-blk-notitle{
display:none;
}
.cart-title{
margin-top:50px;
color: #444;
width: 100%!important;
text-align: center;
font-weight: normal;
font-family: "Montserrat";
font-size: 48px;
}
}
@media(max-width:768px){
.free-shipping-area{
padding: 0px;
}
.free-shipping-area .content-wrap{
padding: 10px 0px;background-color: #f2f2f2;
width:100%;
}
.area-blk{
display:none;
}
.area-fix {
position: fixed;
left: 0;
z-index: 1;
border-top: 1px solid #fff;
}
.cart-title{
margin-top: 1rem;
color: #444;
width: 100%!important;
text-align: center;
font-weight: normal;
font-size: 26px;
}
}
.cart-top{
order: -4;
text-align: center;
width:100%!important;
}
.msg-content{
margin: 2rem 0px;
color: #AB3F3F;
}
.item-options-line span{
display: inline-block;
}
.item-options-line span:first-child{
width:30%;
}
@media (max-width: 1024px){
.cart-container .cart.table-wrapper .item-options {
min-width: 100px;
}
}
.is_mobile .item-info{
display: table;
font-family: "Poppins";
table-layout: fixed;
margin: 15px 0;
width: 100%;
}
.is_mobile .item-info{
display: table;
table-layout: fixed;
margin:3rem 0;
width: 100%;
}
.item-info-left{
width: 150px;
min-width: 150px;
text-align: center;
display: table-cell;
vertical-align: middle;
padding-bottom: 10px;
}
.item-info-left .item-image{
position: relative;
margin-left: auto;
margin-right: auto;
}
.item-info-right{
padding-left: 25px;
display: table-cell;
padding-bottom: 10px;
}
.item-info-right .item-name{
width: 100%;
font-size: 16px;
font-weight: 400;
font-style: normal;
color: #000000;
-webkit-transition: color .2s ease-in-out;
transition: color .2s ease-in-out;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-word;
}
.item-info-right .item-options-meta{
font-size: 16px;
font-weight: 400;
font-style: normal;
-webkit-transition: color .2s ease-in-out;
transition: color .2s ease-in-out;
margin-top: 1rem;
}
.item-info-right .item-price{
margin-top: 1rem;
font-size: 10px;
font-weight: 400;
font-style: normal;
-webkit-transition: color .2s ease-in-out;
transition: color .2s ease-in-out;
}
.checkout-cart-index .price-final_price .price{
font-size: 20px;
color:#000000;
}
.item-info-right .item-price .price-box.price-final_price{
float: none;
}
.item-info-right .item-price .product-info-promotion-span,.item-info-right .item-price .price-label{
display:none;
}
.item-info-right .item-price .no-display{
display:inline-block!important;
}
.item-info-right .item-handle{
text-align: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
font-family: Futura,sans-serif;
font-weight: 400;
font-style: normal;
-webkit-transition: color .2s ease-in-out;
transition: color .2s ease-in-out;
font-size: 12px;
}
.item-info-right .item-quantity{
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid #e7e7e7;
white-space: nowrap;
}
.checkout-cart-index .item-info-right .new-qty .input-text {
border:none;
width:1rem;
padding:0;
font-size: 12px;
}
.checkout-cart-index .item-info-right .qty-change {
padding:2px 15px;
}
.checkout-cart-index .item-info-right .actions-toolbar {
margin-top: 0px;
margin-bottom: 0px;
}
.checkout-cart-index .item-info-right .action-delete span{
color:#0a0a0a;
}
@media (min-width:768px) {
.item-info-right .item-name {
width: 80%;
font-size: 18px;
margin-bottom: 1rem
}
.item-info-right .item-options-meta {
font-size: 18px;
margin-bottom: 1rem;
}
.price-final_price .price{
font-size: 18px;
}
}
.is_mobile .item-info:first-child{
margin:0px 0px 3rem 0;
}
.item-info-right,.item-info-left{
padding-bottom:0px;
position:relative;
}
.item-handle{
width: 80%;
position: absolute;
bottom: 0;
}
.checkout-cart-index .item-actions .action-delete{
display: inline-block;
text-align: left;
width: 100%;
}
/***********************************cart style end**********************************************************/
@media (min-width: 992px) {
@media (min-width: 992px) {
.product-item:hover .product-item-info .image0,
.product-item:hover .product-item-info .image0,
.product-list-item:hover .product-item-info .image0 {
.product-list-item:hover .product-item-info .image0 {
...
@@ -2260,18 +2606,12 @@ button.action.submit.primary {
...
@@ -2260,18 +2606,12 @@ button.action.submit.primary {
text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
white-space: nowrap;
margin-bottom: revert;
margin-bottom: revert;
font-size: larger;
}
.swatch-attribute {
margin-bottom: 1.5rem !important;
}
}
#product-intro__freeshipping-more-3{
#product-intro__freeshipping-more-3{
display: inline-block;
display: inline-block;
color: #2d68a8;
color: #2d68a8;
font-size: 12px;
line-height: 1;
line-height: 1;
margin-top: -10px;
margin-top: -10px;
}
}
...
@@ -2352,7 +2692,7 @@ button.action.submit.primary {
...
@@ -2352,7 +2692,7 @@ button.action.submit.primary {
}
}
}
}
.product-info-main .swatch-option.color
, .swatch-option.image
{
.product-info-main .swatch-option.color{
margin-right: 10px !important;
margin-right: 10px !important;
}
}
...
@@ -2370,11 +2710,10 @@ button.action.submit.primary {
...
@@ -2370,11 +2710,10 @@ button.action.submit.primary {
line-height:10px!important;
line-height:10px!important;
min-width: 70px;
min-width: 70px;
text-align: center;
text-align: center;
font-size:
15px
;
font-size:
.9rem
;
background: none!important;
background: none!important;
border:1px solid rgba(23, 23, 23, 0.3);
border:1px solid rgba(23, 23, 23, 0.3);
border-radius: 15px;
border-radius: 15px;
margin-right: 10px;
}
}
.swatch-option.text.selected{
.swatch-option.text.selected{
...
@@ -2382,26 +2721,21 @@ button.action.submit.primary {
...
@@ -2382,26 +2721,21 @@ button.action.submit.primary {
}
}
.swatch-attribute.size .swatch-attribute-selected-option{
.swatch-attribute.size .swatch-attribute-selected-option{
font-size: 12px;
font-size: .8rem;
color: rgba(23, 23, 23, 0.6) !important;
}
}
.swatch-attribute-selected-option-size-content{
.swatch-attribute-selected-option-size-content{
margin-top: 0.53333rem;
margin-top: 0.53333rem;
padding:
0.26667rem
;
padding:
10px
;
background-color: #f8f8f8!important;
background-color: #f8f8f8!important;
display: none;
display: none;
}
}
.fieldset .swatch-attribute-options.clearfix{margin-top: 20px !important;}
@media (max-width: 768px){
@media (max-width: 768px){
.swatch-attribute-selected-option-size-content span.swatch-attribute-selected-option{
.swatch-attribute-selected-option-size-content span.swatch-attribute-selected-option{
margin-left: 0!important;
margin-left: 0!important;
line-height:0.53333rem;
line-height:0.53333rem;
font-size: 12px;
text-transform:capitalize;
text-transform:capitalize;
color: #0a0a0a;
}
}
}
}
...
@@ -2603,7 +2937,6 @@ button.action.submit.primary {
...
@@ -2603,7 +2937,6 @@ button.action.submit.primary {
@media (max-width: 1024px){
@media (max-width: 1024px){
.select-element.section-before-footer.clearfix p {
.select-element.section-before-footer.clearfix p {
font-weight: 200;
font-weight: 200;
font-size: 12px;
color: #000000;
color: #000000;
text-transform: none;
text-transform: none;
}
}
...
@@ -2752,11 +3085,14 @@ strong.subtitle.empty{
...
@@ -2752,11 +3085,14 @@ strong.subtitle.empty{
.block-minicart .subtotal{
.block-minicart .subtotal{
display: flex;
display: flex;
justify-content:
space-between
;
justify-content:
left
;
font-weight:
500
;
font-weight:
normal
;
font-size: 1
8
px;
font-size: 1
6
px;
margin:0px;
margin:0px;
}
}
.block-minicart .amount.price-container{
margin-right: 1rem;
}
.minicart-items .price-container{
.minicart-items .price-container{
font-size: 12px;
font-size: 12px;
}
}
...
@@ -2939,7 +3275,7 @@ tr.grand.totals {
...
@@ -2939,7 +3275,7 @@ tr.grand.totals {
}
}
.flash-sale-info .product-name{
.flash-sale-info .product-name{
font-size: 1
2
px;
font-size: 1
4
px;
}
}
.flash-sale-info .price{
.flash-sale-info .price{
font-size: 16px;
font-size: 16px;
...
@@ -2974,7 +3310,7 @@ tr.grand.totals {
...
@@ -2974,7 +3310,7 @@ tr.grand.totals {
}
}
.product-info-wrapper .page-title span.base{
.product-info-wrapper .page-title span.base{
font-size: 1
5px
;
font-size: 1
rem
;
}
}
.product-info-stock-sku{
.product-info-stock-sku{
...
@@ -2987,7 +3323,7 @@ tr.grand.totals {
...
@@ -2987,7 +3323,7 @@ tr.grand.totals {
align-items: center;
align-items: center;
gap: 0.5rem;
gap: 0.5rem;
border-bottom: 1px solid lightgrey;
border-bottom: 1px solid lightgrey;
font-size:
12px
;
font-size:
.8em
;
}
}
.swatch-option.selected:before{
.swatch-option.selected:before{
...
@@ -3187,7 +3523,7 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
...
@@ -3187,7 +3523,7 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
@media (min-width: 1024px) {
@media (min-width: 1024px) {
.gallery-placeholder .fotorama__stage__shaft {
.gallery-placeholder .fotorama__stage__shaft {
height: 1000px
!important
;
height: 1000px;
width: 800px !important;
width: 800px !important;
max-width:none!important;
max-width:none!important;
}
}
...
@@ -3196,7 +3532,7 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
...
@@ -3196,7 +3532,7 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
max-height: 1000px;
max-height: 1000px;
max-width: 880px;
max-width: 880px;
width: 880px!important;
width: 880px!important;
height: 1000px
!important
;
height: 1000px;
}
}
#sparsh-mfp-quickview .fotorama__stage__shaft{
#sparsh-mfp-quickview .fotorama__stage__shaft{
...
@@ -3205,8 +3541,8 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
...
@@ -3205,8 +3541,8 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
}
}
.gallery-placeholder .fotorama__nav {
.gallery-placeholder .fotorama__nav {
max-height: 1000px
!important
;
max-height: 1000px;
height: 1000px
!important
;
height: 1000px;
}
}
...
...
app/design/frontend/Joshine/breeze/web/css/_joshine_utils.less
View file @
5c3589ce
...
@@ -22,6 +22,16 @@
...
@@ -22,6 +22,16 @@
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyMnYxOEgweiIvPjxwYXRoIGQ9Ik05LjUgMGwyLjI0MyA2Ljg3NUgxOWwtNS44NzEgNC4yNUwxNS4zNyAxOCA5LjUgMTMuNzUgMy42MjkgMThsMi4yNDItNi44NzVMMCA2Ljg3NWg3LjI1N0w5LjUgMHoiIGZpbGw9IiNFRDlEMDAiLz48L3N2Zz4=);
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyMnYxOEgweiIvPjxwYXRoIGQ9Ik05LjUgMGwyLjI0MyA2Ljg3NUgxOWwtNS44NzEgNC4yNUwxNS4zNyAxOCA5LjUgMTMuNzUgMy42MjkgMThsMi4yNDItNi44NzVMMCA2Ljg3NWg3LjI1N0w5LjUgMHoiIGZpbGw9IiNFRDlEMDAiLz48L3N2Zz4=);
}
}
.rating-result::before, .rating-result > span::before {
left: -5px;
}
.rating-result.-lg {
width: 9rem;
&::before, & > span::before {
-webkit-mask-size: 1.8rem 1.8rem;
}
}
/*点赞图标*/
/*点赞图标*/
.joshine-like {
.joshine-like {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyMHYxOEgweiIvPjxwYXRoIGQ9Ik0zLjg5NiA3LjI4NkguNTU2QS41NTQuNTU0IDAgMCAwIDAgNy44NDh2OC45ODVjMCAuMzE0LjI0NS41NjEuNTU3LjU2MWgzLjM0YS41NTMuNTUzIDAgMCAwIC41NTYtLjU2MVY3Ljg0OGEuNTUzLjU1MyAwIDAgMC0uNTU3LS41NjJ6TTIwIDguMzVjMC0uOTE1LS42MjMtMS44NC0xLjgxMy0xLjg0aC01LjM5MmMuNzctMS4zOTEuOTk3LTMuMzQ3LjQ2Mi00Ljc3OEMxMi44NjMuNjggMTIuMTEuMDY2IDExLjEzOS4wMDRsLS4wMTYtLjAwMkExLjE3IDEuMTcgMCAwIDAgOS44ODkgMS4wOEM5Ljc1MSAyLjUgOS4xMzQgNS4wMSA4LjI1MSA1LjljLS43NDQuNzUtMS4zOCAxLjA2NS0yLjQzNiAxLjU4Ni0uMTUyLjA3NS0uMzIuMTU3LS40OTYuMjQ2YTEuNCAxLjQgMCAwIDEgLjAwNS4xMTd2OC44OTNsLjM3Ny4xM0M3LjQ0MyAxNy40NzggOC45NDggMTggMTEuMjQ4IDE4aDQuMzZjMS4xOSAwIDEuODEyLS45MjYgMS44MTItMS44NDFhMiAyIDAgMCAwLS4xNjMtLjc5MyAxLjcxOCAxLjcxOCAwIDAgMCAxLS41NTljLjI5Mi0uMzM0LjQ1My0uNzc5LjQ1My0xLjI1MSAwLS4yNy0uMDU1LS41NDMtLjE2My0uNzkyLjk1Ni0uMTY2IDEuNDUzLS45OTMgMS40NTMtMS44MSAwLS40NzUtLjE2OC0uOTUzLS40OTQtMS4zMDIuMzI2LS4zNS40OTQtLjgyNy40OTQtMS4zMDJ6IiBmaWxsPSIjQzRDNEM0Ii8+PC9zdmc+);
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyMHYxOEgweiIvPjxwYXRoIGQ9Ik0zLjg5NiA3LjI4NkguNTU2QS41NTQuNTU0IDAgMCAwIDAgNy44NDh2OC45ODVjMCAuMzE0LjI0NS41NjEuNTU3LjU2MWgzLjM0YS41NTMuNTUzIDAgMCAwIC41NTYtLjU2MVY3Ljg0OGEuNTUzLjU1MyAwIDAgMC0uNTU3LS41NjJ6TTIwIDguMzVjMC0uOTE1LS42MjMtMS44NC0xLjgxMy0xLjg0aC01LjM5MmMuNzctMS4zOTEuOTk3LTMuMzQ3LjQ2Mi00Ljc3OEMxMi44NjMuNjggMTIuMTEuMDY2IDExLjEzOS4wMDRsLS4wMTYtLjAwMkExLjE3IDEuMTcgMCAwIDAgOS44ODkgMS4wOEM5Ljc1MSAyLjUgOS4xMzQgNS4wMSA4LjI1MSA1LjljLS43NDQuNzUtMS4zOCAxLjA2NS0yLjQzNiAxLjU4Ni0uMTUyLjA3NS0uMzIuMTU3LS40OTYuMjQ2YTEuNCAxLjQgMCAwIDEgLjAwNS4xMTd2OC44OTNsLjM3Ny4xM0M3LjQ0MyAxNy40NzggOC45NDggMTggMTEuMjQ4IDE4aDQuMzZjMS4xOSAwIDEuODEyLS45MjYgMS44MTItMS44NDFhMiAyIDAgMCAwLS4xNjMtLjc5MyAxLjcxOCAxLjcxOCAwIDAgMCAxLS41NTljLjI5Mi0uMzM0LjQ1My0uNzc5LjQ1My0xLjI1MSAwLS4yNy0uMDU1LS41NDMtLjE2My0uNzkyLjk1Ni0uMTY2IDEuNDUzLS45OTMgMS40NTMtMS44MSAwLS40NzUtLjE2OC0uOTUzLS40OTQtMS4zMDIuMzI2LS4zNS40OTQtLjgyNy40OTQtMS4zMDJ6IiBmaWxsPSIjQzRDNEM0Ii8+PC9zdmc+);
...
@@ -180,6 +190,9 @@ fieldset[disabled] a.joshine-btn {
...
@@ -180,6 +190,9 @@ fieldset[disabled] a.joshine-btn {
.joshine-inline-block {
.joshine-inline-block {
display: inline-block;
display: inline-block;
}
}
.joshine-flex{
display: flex;
}
.joshine-pagination {
.joshine-pagination {
display: flex;
display: flex;
...
@@ -362,3 +375,28 @@ fieldset[disabled] a.joshine-btn {
...
@@ -362,3 +375,28 @@ fieldset[disabled] a.joshine-btn {
z-index: 12;
z-index: 12;
cursor: url('@{baseDir}images/favicon-next.ico'), auto;
cursor: url('@{baseDir}images/favicon-next.ico'), auto;
}
}
.cursor-zoom-in:hover {
cursor: url('@{baseDir}images/cursor-zoom-in.svg'), auto;
}
.joshine-ui-icon-show {
content: ' ';
width: 1.5rem;
height: 1.5rem;
-webkit-mask-size: 1rem 1rem;
background-color: currentColor;
-webkit-mask: url('@{baseDir}images/cursor-zoom-in.svg'), auto;
}
.joshine-ui-icon-toggle{
content: ' ';
position: absolute;
right: 0.125rem;
top: 50%;
margin-top: -0.75rem;
width: 1rem;
height: 1.5rem;
-webkit-mask-size: 1rem 1rem;
background-color: currentColor;
-webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>') no-repeat 50% 50%;
}
\ No newline at end of file
app/design/frontend/Joshine/breeze/web/css/_theme.less
View file @
5c3589ce
...
@@ -12,3 +12,67 @@
...
@@ -12,3 +12,67 @@
font-weight: normal;
font-weight: normal;
font-style: normal;
font-style: normal;
}
}
/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url('../fonts/devanagari-poppins.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url('../fonts/latin-ext-popoins.woff2') format('woff2');
unicode-range: U+0100-02AF, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
src: url('../fonts/latin-popoins.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: url('../fonts/cyrillic-ext-montserrat.woff2') format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: url('../fonts/cyrillic-montserrat.woff2') format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: url('../fonts/vietnamese-montserrat.woff2') format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: url('../fonts/latin-ext-montserrat.woff2') format('woff2');
unicode-range: U+0100-02AF, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
src: url('../fonts/latin-montserrat.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
app/design/frontend/Joshine/breeze/web/fonts/cyrillic-ext-montserrat.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/cyrillic-montserrat.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/devanagari-poppins.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/latin-ext-montserrat.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/latin-ext-popoins.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/latin-montserrat.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/latin-popoins.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/fonts/vietnamese-montserrat.woff2
0 → 100644
View file @
5c3589ce
File added
app/design/frontend/Joshine/breeze/web/images/cursor-zoom-in.svg
0 → 100644
View file @
5c3589ce
<svg
width=
"35"
height=
"35"
viewBox=
"0 0 35 35"
xmlns=
"http://www.w3.org/2000/svg"
>
<g
fill=
"none"
fill-rule=
"nonzero"
>
<circle
fill=
"#ffffff"
cx=
"17.5"
cy=
"17.5"
r=
"17.5"
/>
<path
fill=
"#5c5c5c"
d=
"M24 18h-6v6h-1v-6h-6v-1h6v-6h1v6h6"
/>
</g>
</svg>
\ No newline at end of file
lib/web/mage/gallery/gallery.html
View file @
5c3589ce
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<div
class=
"fotorama__arr fotorama__arr--prev"
tabindex=
"0"
role=
"button"
aria-label=
"Previous"
data-gallery-role=
"arrow"
>
<div
class=
"fotorama__arr fotorama__arr--prev"
tabindex=
"0"
role=
"button"
aria-label=
"Previous"
data-gallery-role=
"arrow"
>
<div
class=
"fotorama__arr__arr"
></div>
<div
class=
"fotorama__arr__arr"
></div>
</div>
</div>
<div
class=
"fotorama__stage__shaft"
tabindex=
"0"
data-gallery-role=
"stage-shaft"
>
<div
class=
"fotorama__stage__shaft
cursor-zoom-in
"
tabindex=
"0"
data-gallery-role=
"stage-shaft"
>
</div>
</div>
<div
class=
"fotorama__arr fotorama__arr--next fotorama__arr--disabled"
tabindex=
"-1"
role=
"button"
<div
class=
"fotorama__arr fotorama__arr--next fotorama__arr--disabled"
tabindex=
"-1"
role=
"button"
aria-label=
"Next"
data-gallery-role=
"arrow"
>
aria-label=
"Next"
data-gallery-role=
"arrow"
>
...
...
pub/.htaccess
View file @
5c3589ce
...
@@ -135,8 +135,12 @@
...
@@ -135,8 +135,12 @@
RewriteRule
.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule
.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
############################################
############################################
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks
RewriteRule
^static/version[^/]+/(.*)$ static/$1 [L]
RewriteCond
%{REQUEST_FILENAME} !-f
RewriteRule
^static/(version[^/]+/)?(.*)$ static.php?resource=$2 [L]
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks
RewriteCond
%{REQUEST_METHOD} ^TRAC[EK]
RewriteCond
%{REQUEST_METHOD} ^TRAC[EK]
RewriteRule
.* - [L,R=405]
RewriteRule
.* - [L,R=405]
...
@@ -161,7 +165,6 @@
...
@@ -161,7 +165,6 @@
</
IfModule
>
</
IfModule
>
############################################
############################################
## Prevent character encoding issues from server overrides
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead
## If you still have problems, use the second line instead
...
...
pub/health_check.php
View file @
5c3589ce
<?php
<?php
http_response_code
(
200
);
// phpcs:ignore Magento2.Security.LanguageConstruct
exit
(
1
);
/**
/**
* Copyright © Magento, Inc. All rights reserved.
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
* See COPYING.txt for license details.
...
...
vendor/swissup/theme-frontend-breeze-blank/web/css/abstracts/variables/_base.less
View file @
5c3589ce
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
@selection__color: false;
@selection__color: false;
@selection__background: false;
@selection__background: false;
@font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
@font-sans:
Outfit-Regular, sans-serif,
ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
@font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
@font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
@font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
@font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment