PhocaGallery. Сделать ширину и высоту изображения динамичными

  • 6 Ответов
  • 654 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Igoritaly

  • Завсегдатай
  • *****
  • 578
  • 1
В настройках Thumbnails, в блоке Images And Detail Window Size Settings можно задать размеры ширине и высоте трем видам эскизов (маленьким, средним, большим).
А как сделать так, чтобы эти самые размеры не приходилось задавать статично, учитывая тот факт, что картинки будут разных размеров и разных пропорций.

*

Ilhom666

  • Живу я здесь
  • ******
  • 1295
  • 166
попробуйте в настройках фоки - Category View - Different Thubmnail Height - "Да" задать

*

Igoritaly

  • Завсегдатай
  • *****
  • 578
  • 1
попробуйте в настройках фоки - Category View - Different Thubmnail Height - "Да" задать
Это настройка работает с миниатюрами. А мне нужно настроить тот эскиз, который появляется при увеличении. То есть миниатюра должна просто увеличивать оригинал, без обработки по ширине и высоте, которые можно осуществить в настройках фоки, Thubmnail - Images And Detail Window Size Settings

*

Ilhom666

  • Живу я здесь
  • ******
  • 1295
  • 166
а чем выводите полный вид? Detail view - Detail window=?

*

Igoritaly

  • Завсегдатай
  • *****
  • 578
  • 1
а чем выводите полный вид? Detail view - Detail window=?
Вывожу slimbox  он в принципе справляется с задачей. но если изображение например 2000px он ее такой и выведет. К сожалению не получается сделать процент, чтобы оригинальной изображение имело предел в зависимости от экрана.

*

Igoritaly

  • Завсегдатай
  • *****
  • 578
  • 1
а чем выводите полный вид? Detail view - Detail window=?
То, что нужно отлично получается за счет Modal Box (Image Only), то есть без кнопок вправо-влево. Но эти кнопки должны быть обязательно.

*

Ilhom666

  • Живу я здесь
  • ******
  • 1295
  • 166
тогда попробуйте хаком - http://stackoverflow.com/questions/3257059/limit-slimbox-lightbox-image-to-window-size, с заменой в файле \components\com_phocagallery\assets\slimbox\js\slimbox2.js
Код: javascript
w(g).css({backgroundImage:"url("+n+")",visibility:"hidden",display:""});w(p).width(k.width);w([p,I,d]).height(k.height);
на
Код: javascript
        var winWidth  = window.innerWidth  - 20;
        var winHeight = window.innerHeight - 120;
        if (winWidth > winHeight) {
            var maxSize = winHeight;
        } else {
            var maxSize = winWidth;
        }

        /* determine proper w and h for img, based on original image'w dimensions and maxSize */
        var my_w = k.width;
        var my_h = k.height;            

        if (my_w > my_h) {
            my_h = maxSize * my_h / my_w;
            my_w = maxSize;
        } else {
            my_w = maxSize * my_w / my_h;
            my_h = maxSize;
        }

        if (k.width > my_w || k.height > my_h){ /* constrain it */
            w(g).css({backgroundImage:"url("+n+")",backgroundSize:""+my_w+"px "+my_h+"px",visibility:"hidden",display:""});
            w(p).width(my_w);
            w([p,I,d]).height(my_h);    
        }
        else { /* default behaviour  NORMAL before hackeing*/
            w(g).css({backgroundImage:"url("+n+")",backgroundSize:"",visibility:"hidden",display:""});
            w(p).width(k.width);
            w([p,I,d]).height(k.height);            
        }