Bagisto Forum

    Bagisto

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    how to increase the number of these thumbs?

    General Discussion
    2
    2
    313
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      RK REZA last edited by RK REZA

      Capture.PNG

      how to increase the number of these thumbs?
      Only 5 thumbs are showing.

      1 Reply Last reply Reply Quote 0
      • P
        prateek-webkul last edited by

        Hello RK REZA ,

        To increase the number of thumbs you may override our shop package css. For this, you have to follow below steps:

        1. In root of your project, under resources folder. Create structure as shop/products/view/gallery.blade.php as shown in image

        thumb.png

        1. In gallery.blade.php file, paste the code given below and under style tag you may write your css. To increase the number of thumbs increase the 'max-height' property of 'thumb-list' class.
        @push('css')
              <style>
                .thumb-list {
                    max-height: 600px !important;
                }
            </style>
           @endpush
        
        @inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
        <?php $images = $productImageHelper->getGalleryImages($product); ?>
        
        {!! view_render_event('bagisto.shop.products.view.gallery.before', ['product' => $product]) !!}
        
         <div class="product-image-group">
        
            <div class="cp-spinner cp-round" id="loader">
            </div>
        
            <product-gallery></product-gallery>
        
            @include ('shop::products.view.product-add')
        
        </div>
        
        {!! view_render_event('bagisto.shop.products.view.gallery.after', ['product' => $product]) !!}
        
        @push('scripts')
        
            <script type="text/x-template" id="product-gallery-template">
                <div>
        
                    <ul class="thumb-list">
                        <li class="gallery-control top" @click="moveThumbs('top')" v-if="(thumbs.length > 4) && this.is_move.up">
                            <span class="overlay"></span>
                            <i class="icon arrow-up-white-icon"></i>
                        </li>
        
                        <li class="thumb-frame" v-for='(thumb, index) in thumbs' @mouseover="changeImage(thumb)" :class="[thumb.large_image_url == currentLargeImageUrl ? 'active' : '']" id="thumb-frame">
                            <img :src="thumb.small_image_url"/>
                        </li>
        
                        <li class="gallery-control bottom" @click="moveThumbs('bottom')" v-if="(thumbs.length > 4) && this.is_move.down">
                            <span class="overlay"></span>
                            <i class="icon arrow-down-white-icon"></i>
                        </li>
                    </ul>
        
                    <div class="product-hero-image" id="product-hero-image">
                        <img :src="currentLargeImageUrl" id="pro-img" :data-image="currentOriginalImageUrl"/>
        
                        @auth('customer')
                            <a class="add-to-wishlist" href="{{ route('customer.wishlist.add', $product->product_id) }}">
                            </a>
                        @endauth
                    </div>
        
                </div>
            </script>
        
            <script>
                var galleryImages = @json($images);
        
                Vue.component('product-gallery', {
        
                    template: '#product-gallery-template',
        
                    data: function() {
                        return {
                            images: galleryImages,
        
                            thumbs: [],
        
                            currentLargeImageUrl: '',
        
                            currentOriginalImageUrl: '',
        
                            counter: {
                                up: 0,
                                down: 0,
                            },
        
                            is_move: {
                                up: true,
                                down: true,
                            }
                        }
                    },
        
                    watch: {
                        'images': function(newVal, oldVal) {
                            this.changeImage(this.images[0])
        
                            this.prepareThumbs()
                        }
                    },
        
                    created: function() {
                        this.changeImage(this.images[0])
        
                        this.prepareThumbs()
                    },
        
                    methods: {
                        prepareThumbs: function() {
                            var this_this = this;
        
                            this_this.thumbs = [];
        
                            this.images.forEach(function(image) {
                                this_this.thumbs.push(image);
                            });
                        },
        
                        changeImage: function(image) {
                            this.currentLargeImageUrl = image.large_image_url;
        
                            this.currentOriginalImageUrl = image.original_image_url;
        
                            if ($(window).width() > 580) {
                                $('img#pro-img').data('zoom-image', image.original_image_url).ezPlus();
                            }
                        },
        
                        moveThumbs: function(direction) {
                            let len = this.thumbs.length;
        
                            if (direction === "top") {
                                const moveThumb = this.thumbs.splice(len - 1, 1);
        
                                this.thumbs = [moveThumb[0]].concat((this.thumbs));
        
                                this.counter.up = this.counter.up+1;
        
                                this.counter.down = this.counter.down-1;
        
                            } else {
                                const moveThumb = this.thumbs.splice(0, 1);
        
                                this.thumbs = [].concat((this.thumbs), [moveThumb[0]]);
        
                                this.counter.down = this.counter.down+1;
        
                                this.counter.up = this.counter.up-1;
                            }
        
                            if ((len-4) == this.counter.down) {
                                this.is_move.down = false;
                            } else {
                                this.is_move.down = true;
                            }
        
                            if ((len-4) == this.counter.up) {
                                this.is_move.up = false;
                            } else {
                                this.is_move.up = true;
                            }
                        },
                    }
                });
        
            </script>
        
        @endpush
        

        Thanks

        1 Reply Last reply Reply Quote 0
        • First post
          Last post