Дмитрий Кондин

Добавляем плагин fotorama в realia

Recommended Posts

В 04.06.2016 в 02:20, Novichok сказал:

Пожалуйста подскажите как его заюзать в шаблон реалия!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Установка тут

http://fotorama.io/set-up/

В realty_view.tpl добавьте такой код

<!-- 1. Link to jQuery (1.8 or later), -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <!-- 33 KB -->

<!-- fotorama.css & fotorama.js. -->
<link  href="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css" rel="stylesheet"> <!-- 3 KB -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script> <!-- 16 KB -->

А вот так нужно поменять вывод фоток

Ищем такой код

               {if $photo|count>0}
                <div class="carousel property" id="cproperty_gal">
                    <div class="preview">
                        <a rel="prettyPhoto[gallery1]" href="{$estate_folder}/img/data/{$photo[0].normal}" class="lbgallery" title="Фото" ><img src="{$estate_folder}/img/data/{$photo[0].normal}" alt=""></a>
                    </div>
                    {if $photo|count>1}
                    <div class="content">
                        <a class="carousel-prev" href="#">Previous</a>
                        <a class="carousel-next" href="#">Next</a>
                        <ul>
                        {section name=j loop=$photo}
                        {if $smarty.section.j.index > 0}
                        <li>
                          <a rel="prettyPhoto[gallery1]" href="{$estate_folder}/img/data/{$photo[j].normal}"><img src="{$estate_folder}/img/data/{$photo[j].normal}" /></a>
                        </li>
                        {/if}
                        {/section}
                        </ul>
                    </div>
                    {/if}
                </div>
                {/if}
Меняем на такой
{if $photo|count>0}
<div class="fotorama">
<img src="{$estate_folder}/img/data/{$photo[0].normal}">
                        {section name=j loop=$photo}
                        {if $smarty.section.j.index > 0}
<img src="{$estate_folder}/img/data/{$photo[j].normal}">
                        
                        {/if}
                        {/section}

</div>
{/if}		

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, rumantic сказал:

Установка тут

http://fotorama.io/set-up/

Доброго времени суток, подскажите, а сложно его всунуть в стандартный шаблон:?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
19 часов назад, DoobBY сказал:

Доброго времени суток, подскажите, а сложно его всунуть в стандартный шаблон:?

Совсем не сложно, действия такие же как и для любого шаблона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, rumantic сказал:

Совсем не сложно, действия такие же как и для любого шаблона.

А как такой вариант настроить? http://fotorama.io/customize/autoplay/ пробовал - все плывет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, rumantic сказал:

Совсем не сложно, действия такие же как и для любого шаблона.

Или вот вариант неплохой http://johnpatrickgiven.com/jquery/Image-Scale-Carousel/ как вставить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 07.06.2016 в 11:07, rumantic сказал:

Установка тут

http://fotorama.io/set-up/

В realty_view.tpl добавьте такой код


<!-- 1. Link to jQuery (1.8 or later), -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <!-- 33 KB -->

<!-- fotorama.css & fotorama.js. -->
<link  href="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css" rel="stylesheet"> <!-- 3 KB -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script> <!-- 16 KB -->

А вот так нужно поменять вывод фоток

Ищем такой код


               {if $photo|count>0}
                <div class="carousel property" id="cproperty_gal">
                    <div class="preview">
                        <a rel="prettyPhoto[gallery1]" href="{$estate_folder}/img/data/{$photo[0].normal}" class="lbgallery" title="Фото" ><img src="{$estate_folder}/img/data/{$photo[0].normal}" alt=""></a>
                    </div>
                    {if $photo|count>1}
                    <div class="content">
                        <a class="carousel-prev" href="#">Previous</a>
                        <a class="carousel-next" href="#">Next</a>
                        <ul>
                        {section name=j loop=$photo}
                        {if $smarty.section.j.index > 0}
                        <li>
                          <a rel="prettyPhoto[gallery1]" href="{$estate_folder}/img/data/{$photo[j].normal}"><img src="{$estate_folder}/img/data/{$photo[j].normal}" /></a>
                        </li>
                        {/if}
                        {/section}
                        </ul>
                    </div>
                    {/if}
                </div>
                {/if}

Меняем на такой


{if $photo|count>0}
<div class="fotorama">
<img src="{$estate_folder}/img/data/{$photo[0].normal}">
                        {section name=j loop=$photo}
                        {if $smarty.section.j.index > 0}
<img src="{$estate_folder}/img/data/{$photo[j].normal}">
                        
                        {/if}
                        {/section}

</div>
{/if}		

 

Вставил слайдер - пропала карта в объекте!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Novichok сказал:

Вставил слайдер - пропала карта в объекте!

Скорее всего что-то удалили

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, Novichok сказал:

Вставил слайдер - пропала карта в объекте!

Если что-то пропало, смотрите какие ошибки есть https://learn.javascript.ru/debugging-chrome

Или пишите адрес сайта, чтобы люди могли зайти и посмотреть эти ошибки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, rumantic сказал:

Если что-то пропало, смотрите какие ошибки есть https://learn.javascript.ru/debugging-chrome

Или пишите адрес сайта, чтобы люди могли зайти и посмотреть эти ошибки.

Такая же петрушка.

Ничего не трогал лишнего, от иф до иф =)  + вылез опять блок (2я картинка).

Сайт doob.by

Ошибок не нашёл, подскажите, как быть?

*Получается скрипт как-то душит карту =) и сбивает поля немного. Я всё вернул назад, потом, просто добавил скрипт и карта вылетела.

 

2444.jpg

123.jpg

Изменено пользователем DoobBY

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, DoobBY сказал:

Такая же петрушка.

Ничего не трогал лишнего, от иф до иф =)  + вылез опять блок (2я картинка).

Сайт doob.by

Ошибок не нашёл, подскажите, как быть?

*Получается скрипт как-то душит карту =) и сбивает поля немного. Я всё вернул назад, потом, просто добавил скрипт и карта вылетела.

 

Тогда на фриланс http://www.etown.ru/s/forum/21-фриланс/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то сайт  http://fotorama.io второй день недоступен, хотел посмотреть там настройки, но в ответ тишина.

При встраивании плагина по вышеуказанной инструкции, действительно карта пропадает, вертикальные изображения показываются в полный рост (ограничить-бы высоту) и слайдер оказывается прижат к левой стороне сайта (по центру-бы). А как настроить, информация не доступна. Хотелось-бы активировать функцию показа во весь экран, там есть такая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно, но это будет считаться индивидуальным изменением, т.е. на платной основе, если согласны напишите мне в скайп, контакт в профиле

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, может у кого-то получилось вставить?

Я как не пытался, пропадает карта гугла и всё =(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, DoobBY сказал:

Подскажите, может у кого-то получилось вставить?

Я как не пытался, пропадает карта гугла и всё =(

А смысл хрен на хрен менять - только время терять. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, Chernetskiy сказал:

А смысл хрен на хрен менять - только время терять. :)

У меня стандартный шаблон =) Было бы лучше, со слайдером

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Плагин отменный, встает без проблем, но Дима не раскрыл топик до конца:

1. Вверх realty_view ставьте только две строчки кода:

<link  href="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script>

Ссылку на jquery.min.js ставить не надо во избежание конфликта между системной версией и новой! Для работы плагина нужна его версия не меньше 1.8, в sitebill уже стоит 1.10.

Более того, я бы рекомендовал скачать представленный на сайте разработчика плагина комплект файлов и разместить их на своем сервере - лично я так и сделал, ни к чему обращение на сторону, мало ли чего.

2. В месте вывода картинок в realia_view ставим код:

<center>
{if $photo|count>0}
<div class="fotorama" data-nav="thumbs" data-loop="true" data-keyboard="true" data-maxheight="600" data-allowfullscreen="true">
<img src="{$estate_folder}/img/data/{$photo[0].normal}">
{section name=j loop=$photo}
{if $smarty.section.j.index > 0}
<img src="{$estate_folder}/img/data/{$photo[j].normal}">
{/if}
{/section}
</div>
{/if}
</center>

Это редакция кода с фото по центру, с превьюшками, с возможностью вывода на весь экран, ограниченная по максимальной высоте до 600пкс, цикличная, с подключенным управлением стрелками влево и вправо.

3. Чистим старый код

Далее, чтобы не перегружать систему, убираем старый prettyphoto из realty_view:
 

<script>
$(document).ready(function(){
    if($('.carousel.property .content ul').length>0){
        $('.carousel.property .content ul').carouFredSel({
            scroll: {
                items: 1
            },
            auto: false,
            next: {
                button: '.carousel.property .content .carousel-next',
                key: 'right'
            },
            prev: {
                button: '.carousel.property .content .carousel-prev',
                key: 'left'
            }
        });
        $('.carousel.property ul li:first').addClass('active');
    }
});
</script>

И пару мест из header:
 

<link rel="stylesheet" href="{$estate_folder}/template/frontend/{$current_theme_name}/css/prettyPhoto.css">

и

<script src="{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
  $("a[rel^='prettyPhoto']").prettyPhoto({
  social_tools: false,
  theme: 'light_square'});
});
</script>

А так за плагин спасибо, мне очень понравилось, лучше чем prettyphoto и шустрее!

Тестировал на шаблоне Realia, постараюсь на днях оттестить на Estetico

UPD: Estetico тоже встает без проблем!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, metrpro сказал:

И пару мест из header:
 


<link rel="stylesheet" href="{$estate_folder}/template/frontend/{$current_theme_name}/css/prettyPhoto.css">

 


<script src="{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
  $("a[rel^='prettyPhoto']").prettyPhoto({
  social_tools: false,
  theme: 'light_square'});
});
</script>

Спасибо, получилось очень понятно и доходчиво =)) Можете подсказать, как вставить картинку если у объекта нет фото?

Пробовал дописать

{else}
<img src="{$estate_folder}/img/no_foto.png" />

но тогда бок сайта слетает в сторону =(

+ вопрос разработчикам - подскажите, какие скрипты чистить в стандартном шаблоне?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, DoobBY сказал:

Можете подсказать, как вставить картинку если у объекта нет фото?

<center>
{if $photo|count>0}
<div class="fotorama" data-nav="thumbs" data-loop="true" data-keyboard="true" data-maxheight="600" data-allowfullscreen="true">
<img src="{$estate_folder}/img/data/{$photo[0].normal}">
{section name=j loop=$photo}
{if $smarty.section.j.index > 0}
<img src="{$estate_folder}/img/data/{$photo[j].normal}">
{/if}
{/section}
</div>
{else}
<div class="fotorama" data-maxheight="600">
<img src="{$estate_folder}/img/no_foto.png">
</div>
{/if}
</center>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так. Опытном путем было выяснено еще кое-что. В случае, если первая была малой высоты (например, альбомной ориентации), а следующие фотографии высокие (т.е. портретные), то по причине того, что плагин изначально зарезервировал высоту блока под маловысотную фотографию, портретные сильно уменьшаются в своем масштабе.

Чтобы этого избежать, в обеих строчках фоторамы надобно в конце div добавить следующее:

data-width="100%" data-ratio="800/600" data-minwidth="300" data-minheight="200"

И будет зер гуд. Результаты можете у меня посмотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а как работает индексация картинок при дефлтном просматривальщике или при фоторамме?

что на что может влиять и что лучше? 
дефолтное открывается как бы в отдельном окне  и модально как бы, как его обрабатывают роботы

и как обрабатывают роботы например при фоторамме-так как все картинки на странице как бы по факту сверху вниз идут

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 30 июня 2016 г. в 06:27, metrpro сказал:

Плагин отменный, встает без проблем, но Дима не раскрыл топик до конца:

1. Вверх realty_view ставьте только две строчки кода:


<link  href="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css" rel="stylesheet">
<script src="http://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script>

Ссылку на jquery.min.js ставить не надо во избежание конфликта между системной версией и новой! Для работы плагина нужна его версия не меньше 1.8, в sitebill уже стоит 1.10.

Более того, я бы рекомендовал скачать представленный на сайте разработчика плагина комплект файлов и разместить их на своем сервере - лично я так и сделал, ни к чему обращение на сторону, мало ли чего.

2. В месте вывода картинок в realia_view ставим код:


<center>
{if $photo|count>0}
<div class="fotorama" data-nav="thumbs" data-loop="true" data-keyboard="true" data-maxheight="600" data-allowfullscreen="true">
<img src="{$estate_folder}/img/data/{$photo[0].normal}">
{section name=j loop=$photo}
{if $smarty.section.j.index > 0}
<img src="{$estate_folder}/img/data/{$photo[j].normal}">
{/if}
{/section}
</div>
{/if}
</center>

Это редакция кода с фото по центру, с превьюшками, с возможностью вывода на весь экран, ограниченная по максимальной высоте до 600пкс, цикличная, с подключенным управлением стрелками влево и вправо.

3. Чистим старый код

Далее, чтобы не перегружать систему, убираем старый prettyphoto из realty_view:

 


<script>
$(document).ready(function(){
    if($('.carousel.property .content ul').length>0){
        $('.carousel.property .content ul').carouFredSel({
            scroll: {
                items: 1
            },
            auto: false,
            next: {
                button: '.carousel.property .content .carousel-next',
                key: 'right'
            },
            prev: {
                button: '.carousel.property .content .carousel-prev',
                key: 'left'
            }
        });
        $('.carousel.property ul li:first').addClass('active');
    }
});
</script>

И пару мест из header:

 


<link rel="stylesheet" href="{$estate_folder}/template/frontend/{$current_theme_name}/css/prettyPhoto.css">

и


<script src="{$estate_folder}/template/frontend/{$current_theme_name}/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
  $("a[rel^='prettyPhoto']").prettyPhoto({
  social_tools: false,
  theme: 'light_square'});
});
</script>

А так за плагин спасибо, мне очень понравилось, лучше чем prettyphoto и шустрее!

Тестировал на шаблоне Realia, постараюсь на днях оттестить на Estetico

UPD: Estetico тоже встает без проблем!



подскажите  а как стали у вас индексироваться картинки  с новым просматривальщиком?  так как старый например как бы открывался в новом окне, а вот фоторама как бы на той же странице просто листинг, 

А что на счет это скажут разработчики?

и еще вопрос вы пишите что нужно почистить код от преттифото в реалити вью а так же в хеадер - и как тогда быть и понимать следующее

к примеру в реалити вью стоит преттифото -скрипт написан в хеадер и в реалити вью,
а вот для фотораммы уже скрипт стоит только в реалити вью

разработчики подскажите для чего к примеру вставлять в хеадер преттифото если она используется только в самом объявлени , и не связано ли это для болле плавной, быстрой и грамотного открытия картинок, так как сейчас заметили такой глючик, когда открываем объявление, то 1фото  сначала слева открывается, а уже потом спустя несколько секунд само выравнивается по центру, не связано ли это именно с тем что скрипт вставлен в реалити вью
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, doma сказал:

подскажите  а как стали у вас индексироваться картинки  с новым просматривальщиком?  так как старый например как бы открывался в новом окне, а вот фоторама как бы на той же странице просто листинг, 

Все картинки вставляются как стандартный img, красота их отображения - хоть фоторамой, хоть преттифотой - обеспечивается, по сути, css. Поэтому на индексацию это не повлияет, если, конечно, каждой фотографии прописать свои альты и титлы уникальные. И фоторама к тому же не портит адресную строчку своими #prettyphoto - у меня они в индексе иной раз мелькали.

Более того - почему вот мне понравилась фоторама - я на её основе сделал для раздела новостей возможность слайд-шоу (пример).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, metrpro сказал:

Все картинки вставляются как стандартный img, красота их отображения - хоть фоторамой, хоть преттифотой - обеспечивается, по сути, css. Поэтому на индексацию это не повлияет, если, конечно, каждой фотографии прописать свои альты и титлы уникальные. И фоторама к тому же не портит адресную строчку своими #prettyphoto - у меня они в индексе иной раз мелькали.

Более того - почему вот мне понравилась фоторама - я на её основе сделал для раздела новостей возможность слайд-шоу (пример).

ну что же -все "продукты хороши" выбирай себе на вкус :)  вот и делаем общими усилиями сайтбилл еще лучше :)
тоже встречали что то вроде индексированной строки преттифото, но все же кажется что "механизм" фоток вставленных фотораммой будет с точки зрения логики "машины" индексироваться лучше, чем в отдельно открытом окне.

Если порадуете tpl файлом новостей в личку, попробуем посмотреть что улучшили и как реализовали, 
+ как именно вставили и реализовали вставку многих фоток именно в новости, так как в стандартном решении там вроде только фото вставляется для новостей, превью, и самого текста, следовательно нужно создать в data-NEWS ПОЛЕ в котором поставить загрузчик фото? таким образом в новости появится как бы 1 массив фоток, а потом просто в tpl через css вывести их как в вашем примере -что более привлекательнее и не надо много листать  вверх.

и разработчикам, если можно ответить на вопрос на счет куда грамотнее ставить скрипт исполнения фотораммы в саму реалити вью и в саму tpl новостей, или все же стоит грамотно запихнуть в header ?
так как посмотрели сейчас на вышеуказанном сайте, там тоже картинки не сразу грузятся, а как бы подгружаются, сначала в оригинальном масштабе. а уже потом и растягиваются и начинают распологаться под обозначенный размер-по всей ширине, как бы не напрягает, но все равно требует внимания, так как подгружается 1-2 секунды, не кретично, но заметно.
Всем спасибо за ответы
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: axilec
      Добрый день! Не подскажете, как можно добавить ссылку или кнопку в описании к объекту недвижимости? Спасибо!
    • Автор: Opossum_Shultz
      Добрый день! подскажите, в шаблоне реалиа не реализовано каким - нибудь css или чем - нибудь развертывание и свертывание текста (например, для описаний ЖК)?
      Ну типа спойлер.
       
    • Автор: metrpro
      Добрый день! Шаблон realia, стоит необходимость изменить оформление добавления/убавления из списка "Избранное".
      Нынешнее решение выглядит следующим образом:
      {if isset($smarty.session.favorites)} {if in_array($data.id.value, $smarty.session.favorites)}<a class="fav-rem" alt="{$data.id.value}" title="{$L_DELETEFROMFAVORITES}" href="#remove_from_favorites"></a> {else}<a class="fav-add" alt="{$data.id.value}" title="{$L_ADDTOFAVORITES}" href="#add_to_favorites"></a> {/if} {else}<a class="fav-add" alt="{$data.id.value}" title="{$L_ADDTOFAVORITES}" href="#add_to_favorites"></a> {/if} А мне бы хотелось уйти от картинок, предусмотренных стилем, чтобы выглядеть это стало как обычная кнопка, типа тех, что вызывают в шаблоне модальные окна.
      Буду рад, если кто сможет поделиться подобными наработками (у меня не вышло)
       
    • Автор: IgorGavr
      В списках объектах есть строчка:
      <div class="property span9{if $grid_items.bold_status==1} grid_list_bold{/if}{if $grid_items.premium_status==1} grid_list_premium{/if}{if $grid_items.vip_status==1} grid_list_vip{/if}">
      Но в независимости выбрано выделение или премиум объявление, проверка не проходит. Как мы можем брать деньги если никаких выделений не происходит после оплаты?
    • Автор: metrpro
      В таблицу STREET, содержащую список улиц и по умолчанию имеющую поля STREET_ID, CITY_ID и NAME, добавлено поле DISTRICT_ID (типа select_by_query), которое позволяет четко каждой улице определить район, к которому она относится, из таблицы DISTRICT_ID.
      Внимание, вопрос №1: как передать текстовое значение поля district_id в шаблоны realty_view и realty_grid (realia)?

      В таблице DISTRICT добавлено поле OKRUG типа safe_string. Вопрос №2 - как его значение тоже передать в те же шаблоны?

      И, наконец, вопрос №3 - как организовать поиск всех объявлений определенного типа в рамках улиц, расположенных в определенном районе или определенном округе?