22
33<div class =" col-xl-6 col-lg-6 col-md-5 col-12 mt-md-0 mt-3 px-0" >
44 <div class =" gallery" >
5- @if (Model .PictureModels .Count == 1 )
5+ @if (Model .PictureModels .Any () )
66 {
7- @if (Model .DefaultPictureZoomEnabled )
8- {
9- <gallery-images ></gallery-images >
7+ var schemaPicture = Model .PictureModels .FirstOrDefault ();
8+ <img src =" @schemaPicture.FullSizeImageUrl" class =" d-none" itemprop =" image" >
9+ }
10+ @if (Model .PictureModels .Count == 1 ) { @if (Model .DefaultPictureZoomEnabled ) {
11+ < gallery - images >< / gallery - images >
1012
11- <script type =" text/html" id =" picture" >
12- <div >
13- <img class =" image main-image zoom" id =" main-product-img-@Model.Id" v-for =" (image, i) in images" :src =" image.url" :alt =" image.alt"
14- :title =" image.title" :key =" i" @@click =" index=i" >
15- <vue-gallery-slideshow :images =" images" :index =" index" @@close =" index=null" ></vue-gallery-slideshow >
16- </div >
17- </script >
18- <script asp-location =" Footer" asp-order =" 300" >
13+ < script type = " text/html" id = " picture" >
14+ < div >
15+ < img class = " image main-image zoom" id = " main-product-img-@Model.Id" v - for = " (image, i) in images" : src = " image.url" : alt = " image.alt"
16+ : title = " image.title" : key = " i" @@click = " index=i" >
17+ < vue - gallery - slideshow : images = " images" : index = " index" @@close = " index=null" >< / vue - gallery - slideshow >
18+ < / div >
19+ < / script >
20+ < script asp - location = " Footer" asp - order = " 300" >
1921 Vue .component ('gallery-images' , {
2022 template : '#picture' ,
2123 data () {
3537 { url : '@picture.ImageUrl' , fullimg : '@picture.FullSizeImageUrl' , alt : '@picture.AlternateText' , title : '@picture.Title' },
3638 < / text >
3739 }
38-
3940 }
4041 ],
4142 index : null
4546 VueGallerySlideshow
4647 },
4748 });
48- </script >
49+ < / script >
4950
50- }
51- else
52- {
53- <img id =" main-product-img-@Model.Id" class =" image main-image"
54- src =" @Model.DefaultPictureModel.ImageUrl"
55- alt =" @Model.DefaultPictureModel.AlternateText"
56- title =" @Model.DefaultPictureModel.Title" />
57- }
5851 }
59- @if ( Model . PictureModels . Count == 0 )
52+ else
6053 {
6154 < img id = " main-product-img-@Model.Id" class = " image main-image"
6255 src = " @Model.DefaultPictureModel.ImageUrl"
6356 alt = " @Model.DefaultPictureModel.AlternateText"
6457 title = " @Model.DefaultPictureModel.Title" / >
6558 }
66- @if (Model .DefaultPictureZoomEnabled )
59+ }
60+ @if (Model .PictureModels .Count == 0 )
61+ {
62+ <img id =" main-product-img-@Model.Id" class =" image main-image"
63+ src =" @Model.DefaultPictureModel.ImageUrl"
64+ alt =" @Model.DefaultPictureModel.AlternateText"
65+ title =" @Model.DefaultPictureModel.Title" />
66+ }
67+ @if (Model .DefaultPictureZoomEnabled )
68+ {
69+ @if (Model .PictureModels .Count > 1 )
6770 {
68- @if (Model .PictureModels .Count > 1 )
69- {
7071
71- <img id =" main-product-img-@Model.Id" class =" image main-image zoom"
72- src =" @Model.DefaultPictureModel.ImageUrl"
73- alt =" @Model.DefaultPictureModel.AlternateText"
74- title =" @Model.DefaultPictureModel.Title"
75- onclick =" document.querySelector('.thumb-image').click()" />
72+ <img id =" main-product-img-@Model.Id" class =" image main-image zoom"
73+ src =" @Model.DefaultPictureModel.ImageUrl"
74+ alt =" @Model.DefaultPictureModel.AlternateText"
75+ title =" @Model.DefaultPictureModel.Title"
76+ onclick =" document.querySelector('.thumb-image').click()" />
7677
77- <script type =" text/html" id =" picture" >
78+ <script type =" text/html" id =" picture" >
79+ <div >
80+ <img class =" image thumb-image zoom" v-for =" (image, i) in images" :src =" image.url" :datasrc =" image.fullimg"
81+ :alt =" image.alt" :title =" image.title" :key =" i" @@click =" index=i" >
7882 <div >
79- <img class =" image thumb-image zoom" v-for =" (image, i) in images" :src =" image.url" :datasrc =" image.fullimg"
80- :alt =" image.alt" :title =" image.title" :key =" i" @@click =" index=i" >
81- <div >
82- <vue-gallery-slideshow :images =" images" :index =" index" @@close =" index=null" ></vue-gallery-slideshow >
83- </div >
83+ <vue-gallery-slideshow :images =" images" :index =" index" @@close =" index=null" ></vue-gallery-slideshow >
8484 </div >
85- </script >
86- <gallery-images ></gallery-images >
87- <script asp-location =" Footer" asp-order =" 300" >
85+ </div >
86+ </script >
87+ <gallery-images ></gallery-images >
88+ <script asp-location =" Footer" asp-order =" 300" >
8889 Vue .component (' gallery-images' , {
8990 template: ' #picture' ,
9091 data () {
104105 { url: ' @picture.ImageUrl' , fullimg: ' @picture.FullSizeImageUrl' , alt: ' @picture.AlternateText' , title: ' @picture.Title' },
105106 < / text>
106107 }
107-
108108 }
109109 ],
110110 index: null
114114 VueGallerySlideshow
115115 },
116116 });
117- </script >
118- }
117+ </script >
119118 }
120- else
119+ }
120+ else
121+ {
122+ @if (Model .PictureModels .Count > 1 )
121123 {
122- @if (Model .PictureModels .Count > 1 )
123- {
124- <img id =" main-product-img-@Model.Id" class =" image main-image"
125- src =" @Model.DefaultPictureModel.ImageUrl"
126- alt =" @Model.DefaultPictureModel.AlternateText"
127- title =" @Model.DefaultPictureModel.Title" />
128- <div >
129- @foreach ( var picture in Model .PictureModels )
130- {
131- <img class =" image thumb-image"
132- src =" @picture.ThumbImageUrl"
133- alt =" @picture.AlternateText"
134- title =" @picture.Title"
135- data-src =" @picture.ImageUrl"
136- @@click =" Gallery.extendOptions.methods.changeImg($event)" />
137- }
138- </div >
139- <script asp-location =" Footer" asp-order =" 300" >
124+ <img id =" main-product-img-@Model.Id" class =" image main-image"
125+ src =" @Model.DefaultPictureModel.ImageUrl"
126+ alt =" @Model.DefaultPictureModel.AlternateText"
127+ title =" @Model.DefaultPictureModel.Title" />
128+ <div >
129+ @foreach ( var picture in Model .PictureModels )
130+ {
131+ <img class =" image thumb-image"
132+ src =" @picture.ThumbImageUrl"
133+ alt =" @picture.AlternateText"
134+ title =" @picture.Title"
135+ data-src =" @picture.ImageUrl"
136+ @@click =" Gallery.extendOptions.methods.changeImg($event)" />
137+ }
138+ </div >
139+ <script asp-location =" Footer" asp-order =" 300" >
140140 var gallery = new Vue ({
141141 methods: {
142142 changeImg (event ) {
146146 }
147147 }
148148 })
149- </script >
150- }
149+ </script >
151150 }
151+ }
152152 </div >
153153</div >
0 commit comments