Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
Lynnic
9 years ago
Commit
4aaf16f8e27716453884f2586495e71d5d587a1b
1 parent
7229af7c
update
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
257 additions
and
154 deletions
static/js/product/detail/detail.js
static/sass/product/_detail.scss
template/m.yohobuy.com/actions/product/detail/index.phtml
yohobuy/m.yohobuy.com/application/modules/Product/controllers/Detail.php
static/js/product/detail/detail.js
View file @
4aaf16f
...
...
@@ -6,7 +6,10 @@
var
$
=
require
(
'jquery'
),
Swiper
=
require
(
'yoho.iswiper'
),
lazyLoad
=
require
(
'yoho.lazyload'
),
goodsSwiper
;
goodsSwiper
,
sizeSwiper
,
refSwiper
;
lazyLoad
(
$
(
'img.lazy'
));
...
...
@@ -39,6 +42,14 @@ $('#nav-tab li').on('click', function() {
}
});
sizeSwiper
=
new
Swiper
(
'#size-swiper-container'
,{
slidesPerView
:
'auto'
});
refSwiper
=
new
Swiper
(
'#reference-swiper-container'
,{
slidesPerView
:
'auto'
});
// $('#iframe').load(function() {
// var mainheight = $(this).contents().find('body').height() + 30;
// $(this).height(mainheight);
...
...
static/sass/product/_detail.scss
View file @
4aaf16f
...
...
@@ -3,9 +3,6 @@ $subFontC:#b0b0b0;
$borderC
:
#b0b0b0
;
$tableCellC
:
#eee
;
@function
px2rem
(
$px
){
@return
$px
*
1rem
/
$pxConvertRem
;
}
.good-detail-page
{
...
...
@@ -15,38 +12,50 @@ $tableCellC:#eee;
width
:
100%
;
border-bottom
:
2px
solid
$borderC
;
border-top
:
2px
solid
$borderC
;
padding
:
0
px
2rem
(
28
);
padding
:
0
px
ToRem
(
28px
);
.title
{
min-height
:
px2rem
(
88
);
line-height
:
px2rem
(
88
);
min-height
:
pxToRem
(
88px
);
line-height
:
pxToRem
(
88px
);
color
:
$mainFontC
;
font
:{
size
:
px2rem
(
28
);
}
font-size
:
pxToRem
(
28px
);
border-bottom
:
2px
solid
$borderC
;
span
{
color
:
#a0a0a0
;
font
:{
size
:px2rem
(
18
)
;
}
font-size
:pxToRem
(
18px
)
;
// vertical-align: baseline;
}
}
.detail
{
margin-top
:
px2rem
(
20
);
margin-bottom
:
px2rem
(
20
);
font-size
:
px2rem
(
24
);
line-height
:
px2rem
(
36
);
table
{
width
:
100%
;
tbody
td
{
margin-top
:
pxToRem
(
20px
);
margin-bottom
:
pxToRem
(
20px
);
font-size
:
pxToRem
(
24px
);
line-height
:
pxToRem
(
36px
);
&
.table
{
display
:
table
;
width
:
100%
;
.row
{
display
:
table-row
;
.column
{
display
:
table-cell
;
padding
:
0
.4em
0
.8em
;
border
:
3px
solid
white
;
font-size
:
px2rem
(
24
);
border
:
2px
solid
white
;
font-size
:
pxToRem
(
24px
);
background-color
:
$tableCellC
;
}
}
}
}
// table {
// width: 100%;
// tbody td{
// padding: 0.4em 0.8em;
// border:3px solid white;
// font-size: pxToRem(24px);
// background-color: $tableCellC;
// }
// }
}
}
.gap-block
{
...
...
@@ -59,15 +68,15 @@ $tableCellC:#eee;
// overflow: hidden;
.is-new-lable
{
position
:
absolute
;
left
:
px2rem
(
108
);
top
:px2rem
(
40
)
;
height
:
px2rem
(
35
);
width
:px2rem
(
70
)
;
left
:
pxToRem
(
108px
);
top
:pxToRem
(
40px
)
;
height
:
pxToRem
(
35px
);
width
:pxToRem
(
70px
)
;
color
:
#fff
;
text-align
:
center
;
font-size
:
px2rem
(
20
);
line-height
:
px2rem
(
35
);
font-size
:
pxToRem
(
20px
);
line-height
:
pxToRem
(
35px
);
background-color
:
#7cd881
;
z-index
:
16
;
}
...
...
@@ -80,7 +89,7 @@ $tableCellC:#eee;
.swiper-pagination
{
position
:absolute
;
bottom
:
px
2rem
(
40
);
bottom
:
px
ToRem
(
40px
);
.swiper-pagination-bullet
{
margin-right
:
2px
;
}
...
...
@@ -92,9 +101,9 @@ $tableCellC:#eee;
}
.banner-swiper
{
min-height
:
px2rem
(
600
);
min-width
:
px2rem
(
448
);
margin
:
px2rem
(
30
)
px2rem
(
96
);
min-height
:
pxToRem
(
600px
);
min-width
:
pxToRem
(
448px
);
margin
:
pxToRem
(
30px
)
pxToRem
(
96px
);
// position: relative;
overflow
:
hidden
;
ul
{
...
...
@@ -109,22 +118,22 @@ $tableCellC:#eee;
.goodsName
{
min-height
:
px2rem
(
83
);
font-size
:
px2rem
(
28
);
min-height
:
pxToRem
(
83px
);
font-size
:
pxToRem
(
28px
);
color
:
#fff
;
padding-left
:
px2rem
(
25
);
padding-right
:
px2rem
(
25
);
line-height
:
px2rem
(
36
);
padding-left
:
pxToRem
(
25px
);
padding-right
:
pxToRem
(
25px
);
line-height
:
pxToRem
(
36px
);
background-color
:
#515150
;
}
.goodsSubtitle
{
min-height
:
px2rem
(
87
);
font-size
:
px2rem
(
24
);
line-height
:
px2rem
(
36
);
min-height
:
pxToRem
(
87px
);
font-size
:
pxToRem
(
24px
);
line-height
:
pxToRem
(
36px
);
color
:
$subFontC
;
padding-left
:px2rem
(
28
)
;
padding-right
:px2rem
(
28
)
;
padding-left
:pxToRem
(
28px
)
;
padding-right
:pxToRem
(
28px
)
;
border-bottom
:
2px
solid
$borderC
;
background-color
:
#f4f4f4
;
}
...
...
@@ -132,32 +141,32 @@ $tableCellC:#eee;
.price-date
{
// width: 100%;
color
:
$subFontC
;
min-height
:
px2rem
(
88
);
padding-left
:px2rem
(
28
)
;
padding-right
:px2rem
(
28
)
;
min-height
:
pxToRem
(
88px
);
padding-left
:pxToRem
(
28px
)
;
padding-right
:pxToRem
(
28px
)
;
border-bottom
:
2px
solid
$borderC
;
}
.goodsPrice
{
float
:
left
;
font-size
:
px
2rem
(
34
.59
);
font-size
:
px
ToRem
(
34
.59px
);
h1
{
display
:
inline-block
;
line-height
:
px
2rem
(
88
);
line-height
:
px
ToRem
(
88px
);
}
.currentPrice
{
color
:red
;
margin-right
:
px
2rem
(
10
);
margin-right
:
px
ToRem
(
10px
);
}
.previousPrice
{
text-decoration
:line-through
;
}
}
.periodOfMarket
{
font-size
:
px
2rem
(
24
);
font-size
:
px
ToRem
(
24px
);
float
:
right
;
h1
{
display
:
inline-block
;
line-height
:
px
2rem
(
88
);
line-height
:
px
ToRem
(
88px
);
}
}
.goodsName
,
...
...
@@ -171,10 +180,10 @@ $tableCellC:#eee;
}
.vipLevel
{
display
:
table
;
min-height
:
px2rem
(
88
);
padding-left
:px2rem
(
28
)
;
padding-right
:px2rem
(
28
)
;
font-size
:
px2rem
(
22
);
min-height
:
pxToRem
(
88px
);
padding-left
:pxToRem
(
28px
)
;
padding-right
:pxToRem
(
28px
)
;
font-size
:
pxToRem
(
22px
);
color
:
#999999
;
border-bottom
:
2px
solid
$borderC
;
...
...
@@ -183,26 +192,26 @@ $tableCellC:#eee;
vertical-align
:
middle
;
}
.vip-img
{
padding-right
:
px
2rem
(
22
);
padding-right
:
px
ToRem
(
22px
);
img
{
width
:
px2rem
(
52
);
height
:
px2rem
(
32
);
width
:
pxToRem
(
52px
);
height
:
pxToRem
(
32px
);
}
}
.vip-price
{
padding-right
:
px
2rem
(
55
);
padding-right
:
px
ToRem
(
55px
);
}
.vip-price
:last-child
{
padding-right
:
0
;
}
}
.goodsDiscount
{
min-height
:
px2rem
(
88
);
padding-left
:px2rem
(
28
)
;
padding-right
:px2rem
(
28
)
;
font-size
:
px2rem
(
28
);
min-height
:
pxToRem
(
88px
);
padding-left
:pxToRem
(
28px
)
;
padding-right
:pxToRem
(
28px
)
;
font-size
:
pxToRem
(
28px
);
color
:
$mainFontC
;
line-height
:
px
2rem
(
88
);
line-height
:
px
ToRem
(
88px
);
border-bottom
:
2px
solid
$borderC
;
.iconfont
{
// padding-right:28rem/$pxConvertRem;
...
...
@@ -214,7 +223,7 @@ $tableCellC:#eee;
}
.feedback-list-page
{
padding-top
:
px
2rem
(
30
);
padding-top
:
px
ToRem
(
30px
);
background-color
:
#f0f0f0
;
.nav-tab
{
...
...
@@ -222,8 +231,8 @@ $tableCellC:#eee;
}
.nav-tab
{
height
:
px2rem
(
60
);
padding
:
px2rem
(
10
)
0
;
height
:
pxToRem
(
60px
);
padding
:
pxToRem
(
10px
)
0
;
background-color
:
#fff
;
border-top
:
2px
solid
$borderC
;
border-bottom
:
2px
solid
$borderC
;
...
...
@@ -233,9 +242,9 @@ $tableCellC:#eee;
box-sizing
:
border-box
;
float
:
left
;
width
:
50%
;
height
:
px2rem
(
60
);
line-height
:
px2rem
(
60
);
font-size
:
px2rem
(
28
);
height
:
pxToRem
(
60px
);
line-height
:
pxToRem
(
60px
);
font-size
:
pxToRem
(
28px
);
text-align
:
center
;
color
:
#ccc
;
...
...
@@ -253,20 +262,20 @@ $tableCellC:#eee;
background-color
:
#fff
;
border-bottom
:
2px
solid
$borderC
;
.user-name
{
font-size
:
px2rem
(
24
);
line-height
:
px2rem
(
62
);
font-size
:
pxToRem
(
24px
);
line-height
:
pxToRem
(
62px
);
color
:
$mainFontC
;
padding-left
:
px2rem
(
28
);
padding-right
:
px2rem
(
18
);
padding-left
:
pxToRem
(
28px
);
padding-right
:
pxToRem
(
18px
);
}
.goods-spec
,
.comment-time
{
font-size
:
px2rem
(
24
);
line-height
:
px2rem
(
62
);
font-size
:
pxToRem
(
24px
);
line-height
:
pxToRem
(
62px
);
}
.detail-content
{
font-size
:
px2rem
(
28
);
line-height
:
px2rem
(
36
);
font-size
:
pxToRem
(
28px
);
line-height
:
pxToRem
(
36px
);
}
.goods-spec
,
.detail-content
{
...
...
@@ -274,11 +283,11 @@ $tableCellC:#eee;
}
.detail-content
,
.comment-time
{
padding-left
:
px
2rem
(
28
);
padding-left
:
px
ToRem
(
28px
);
}
.detail-content
{
padding-right
:
px
2rem
(
28
);
padding-right
:
px
ToRem
(
28px
);
}
.comment-time
{
...
...
@@ -287,13 +296,13 @@ $tableCellC:#eee;
}
.comment-content-footer
{
min-height
:
px
2rem
(
88
);
min-height
:
px
ToRem
(
88px
);
text-align
:
center
;
background-color
:
#fff
;
border-bottom
:
2px
solid
$borderC
;
line-height
:
px2rem
(
88
);
font-size
:
px2rem
(
28
);
line-height
:
pxToRem
(
88px
);
font-size
:
pxToRem
(
28px
);
a
{
color
:
#e0e0e0
;
.iconfont
{
...
...
@@ -310,7 +319,7 @@ $tableCellC:#eee;
}
.enter-store
{
min-height
:
px
2rem
(
100
);
min-height
:
px
ToRem
(
100px
);
display
:
table
;
a
{
display
:
table-cell
;
...
...
@@ -321,19 +330,19 @@ $tableCellC:#eee;
// padding-right: 35rem/$pxConvertRem;
img
{
width
:
px2rem
(
109
);
height
:
px2rem
(
68
);
width
:
pxToRem
(
109px
);
height
:
pxToRem
(
68px
);
margin-left
:
0
;
margin-right
:
px
2rem
(
-25
);
margin-right
:
px
ToRem
(
-25px
);
}
}
.store-name
{
font-size
:
px
2rem
(
34
);
font-size
:
px
ToRem
(
34px
);
color
:
$mainFontC
;
}
.store-link
{
font-size
:px
2rem
(
28
)
;
font-size
:px
ToRem
(
28px
)
;
color
:
$subFontC
;
text-align
:
right
;
span
{
...
...
@@ -351,14 +360,14 @@ $tableCellC:#eee;
img
{
display
:
block
;
overflow
:
hidden
;
width
:
px2rem
(
90
);
height
:
px2rem
(
120
);
padding-right
:
px2rem
(
20
);
width
:
pxToRem
(
90px
);
height
:
pxToRem
(
120px
);
padding-right
:
pxToRem
(
20px
);
float
:
left
;
}
.material-desc
{
// float: left;
font-size
:
px
2rem
(
24
);
font-size
:
px
ToRem
(
24px
);
}
}
}
...
...
@@ -366,9 +375,25 @@ $tableCellC:#eee;
.product-detail
{
.detail
{
img
{
margin-top
:
px2rem
(
20
);
width
:
px2rem
(
581
);
height
:
px2rem
(
772
);
margin-top
:
pxToRem
(
20px
);
width
:
pxToRem
(
581px
);
height
:
pxToRem
(
772px
);
}
}
}
.detail-swiper
{
.swiper-wrapper
{
.swiper-slide
{
width
:
pxToRem
(
114px
);
div
{
text-align
:
center
;
}
div
.cell
{
background-color
:
$tableCellC
;
padding
:pxToRem
(
15px
)
0
;
border
:
1px
solid
#fff
;
}
}
}
}
...
...
template/m.yohobuy.com/actions/product/detail/index.phtml
View file @
4aaf16f
{
{>
layout/header
}
}
<div
class=
"good-detail-page yoho-page"
>
...
...
@@ -125,27 +126,23 @@
<span
class=
"en-title"
>
{
{enTitle
}
}</span>
</h
1
>
{
{#detail
}
}
<div
class=
"detail"
>
<table>
<tbody>
<tr>
<td>编号:
{
{nubmer
}
}</td>
<td>帽型:
{
{hatType
}
}</td>
</tr>
<tr>
<td>颜色:
{
{color
}
}</td>
<td>帽檐:
{
{bongrace
}
}</td>
</tr>
<tr>
<td>类型:
{
{type
}
}</td>
<td>细节:
{
{goodsDetail
}
}</td>
</tr>
<tr>
<td>性别:
{
{gender
}
}</td>
<td>风格:
{
{style
}
}</td>
</tr>
</tbody>
</table>
<div
class=
"detail table"
>
<div
class=
"row"
>
<div
class=
"column"
>编号:
{
{nubmer
}
}</div>
<div
class=
"column"
>帽型:
{
{hatType
}
}</div>
</div>
<div
class=
"row"
>
<div
class=
"column"
>颜色:
{
{color
}
}</div>
<div
class=
"column"
>帽檐:
{
{bongrace
}
}</div>
</div>
<div
class=
"row"
>
<div
class=
"column"
>类型:
{
{type
}
}</div>
<div
class=
"column"
>细节:
{
{goodsDetail
}
}</div>
</div>
<div
class=
"row"
>
<div
class=
"column"
>性别:
{
{gender
}
}</div>
<div
class=
"column"
>风格:
{
{style
}
}</div>
</div>
</div>
{
{/detail
}
}
</div>
...
...
@@ -153,15 +150,29 @@
<div
class=
"gap-block"
></div>
{
{#sizeInfo
}
}
<div
class=
"size-info page-block"
>
<h
1
class=
"title"
>
尺码信息
<span
class=
"en-title"
>SIZE
INFO</span>
{
{title
}
}
<span
class=
"en-title"
>
{
{enTitle
}
}</span>
</h
1
>
{
{#detail
}
}
<div
class=
"detail"
>
</div>
<div
class=
"swiper-container detail-swiper"
id=
"size-swiper-container"
>
<div
class=
"swiper-wrapper"
>
{
{#list
}
}
<div
class=
"swiper-slide blue-slide"
>
<div
class=
"size-name cell"
>
{
{name
}
}</div>
<div
class=
"size-m cell"
>
{
{sizem
}
}</div>
<div
class=
"size-xl cell"
>
{
{sizexl
}
}</div>
</div>
{
{/list
}
}
</div>
</div>
</div>
{
{/detail
}
}
</div>
{
{/sizeInfo
}
}
<div
class=
"gap-block"
></div>
...
...
@@ -176,6 +187,32 @@
</div>
<div
class=
"gap-block"
></div>
{
{#reference
}
}
<div
class=
"size-info page-block"
>
<h
1
class=
"title"
>
{
{title
}
}
<span
class=
"en-title"
>
{
{enTitle
}
}</span>
</h
1
>
{
{#detail
}
}
<div
class=
"detail"
>
<div
class=
"swiper-container"
id=
"reference-swiper-container"
>
<div
class=
"swiper-wrapper"
>
{
{#list
}
}
<div
class=
"swiper-slide blue-slide"
>
<div
class=
"model-name cell"
>
{
{name
}
}</div>
<div
class=
"first-model cell"
>
{
{firstModel
}
}</div>
<div
class=
"second-model cell"
>
{
{secondModel
}
}</div>
</div>
{
{/list
}
}
</div>
</div>
</div>
{
{/detail
}
}
</div>
{
{/reference
}
}
<div
class=
"gap-block"
></div>
{
{#materials
}
}
<div
class=
"materials page-block"
>
...
...
yohobuy/m.yohobuy.com/application/modules/Product/controllers/Detail.php
View file @
4aaf16f
...
...
@@ -110,20 +110,36 @@ SHOE BQT KEN BLOCK',
'detail'
=>
array
(
'list'
=>
array
(
array
(
'size'
=>
'M'
,
'shoulderWidth'
=>
'43'
,
'bodyLength'
=>
'102'
,
'sleevesLength'
=>
'65'
,
'chestMeasurement'
=>
'90'
),
'name'
=>
'尺寸'
,
'sizem'
=>
'm'
,
'sizexl'
=>
'XL'
),
array
(
'size'
=>
'XL'
,
'shoulderWidth'
=>
'46'
,
'bodyLength'
=>
'106'
,
'sleevesLength'
=>
'69'
,
'chestMeasurement'
=>
'96'
)
)
'name'
=>
'肩宽'
,
'sizem'
=>
'43'
,
'sizexl'
=>
'46'
),
array
(
'name'
=>
'衣长'
,
'sizem'
=>
'102'
,
'sizexl'
=>
'106'
),
array
(
'name'
=>
'肩宽'
,
'sizem'
=>
'90'
,
'sizexl'
=>
'96'
),
array
(
'name'
=>
'胸围'
,
'sizem'
=>
'90'
,
'sizexl'
=>
'96'
),
array
(
'name'
=>
'xx'
,
'sizem'
=>
'xx'
,
'sizexl'
=>
'xx'
)
)
)
),
...
...
@@ -143,26 +159,40 @@ SHOE BQT KEN BLOCK',
'title'
=>
'模特试穿'
,
'enTitle'
=>
'REFERENCE'
,
'detail'
=>
array
(
'list'
=>
array
(
array
(
'avatar'
=>
''
,
'name'
=>
'Oliver'
,
'height'
=>
'170'
,
'weight'
=>
'55'
,
'BWH'
=>
'78/70/87'
,
'size'
=>
'S'
),
array
(
'avatar'
=>
''
,
'name'
=>
'Jvly'
,
'height'
=>
'170'
,
'weight'
=>
'59'
,
'BWH'
=>
'78/70/87'
,
'size'
=>
'L'
)
)
)
'detail'
=>
array
(
'list'
=>
array
(
array
(
'name'
=>
'头像'
,
'firstModel'
=>
''
,
'secondModel'
=>
''
),
array
(
'name'
=>
'模特'
,
'firstModel'
=>
'Oliver'
,
'secondModel'
=>
'Jvly'
),
array
(
'name'
=>
'身高'
,
'firstModel'
=>
'175'
,
'secondModel'
=>
'170'
),
array
(
'name'
=>
'体重'
,
'firstModel'
=>
'53'
,
'secondModel'
=>
'59'
),
array
(
'name'
=>
'三围'
,
'firstModel'
=>
'78/70/87'
,
'secondModel'
=>
'78/70/87'
),
array
(
'name'
=>
'吊牌尺'
,
'firstModel'
=>
'S'
,
'secondModel'
=>
'L'
)
)
)
),
'materials'
=>
array
(
...
...
Please
register
or
login
to post a comment