• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
Bagisto Forum

Bagisto

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

how to increase the number of these thumbs?

General Discussion
2
2
550
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 18 Aug 2019, 06:52 18 Aug 2019, 06:51

    Capture.PNG

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

    1 Reply Last reply Reply Quote 0
    • 11 days later
    • P
      prateek-webkul last edited by 29 Aug 2019, 10:05

      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
      1 out of 2
      • First post
        1/2
        Last post