EZ Realty 7.2.0 Нужна помощь с отображением карусели объектов

brus46

Постоялец
Регистрация
3 Мар 2013
Сообщения
93
Реакции
16
Делаю сайт с использованием компонента EZ Realty 7.2.0, ничего не нулил, все работает без этого. Причем на официальном сайте есть возможность компонент скачать бесплатно.
Не получается отредактировать модуль "Карусель объектов". Используется javascript, причем разметка прописана внутри кода и при добавлении чего-либо (кроме <span>) все ломается.
Код:
<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
    <div class="carousel-container" style="padding-right: 25px;">
        <div class="carousel_item">

<script type="text/javascript">

var sliderwidth="100%"
var sliderheight="<?php echo $otherheight;?>px"
//Specify the slider's slide speed (larger is faster 1-10)
var slidespeed=<?php echo $slidespeed;?>
//configure background color:
slidebgcolor=""

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''

            <?php
            $k = 0;
            $count = 0;
            for ($i=0, $n=count( $items ); $i < $n; $i++) {

                $item = $items[$i];

                $link = JRoute::_(EzrealtyHelperRoute::getEzrealtyRoute($item->slug, $item->catslug, '', ''));

                if(!EZRealtyFHelper::getTheImage($item->id) ){
                    $image = JURI::root()."components/com_ezrealty/assets/images/nothumb.png";
                } else {
                    $image = EZRealtyFHelper::convertModuleImage ($item->id);
                }

                ?>

                leftrightslide[<?php echo $i;?>]='<a href="<?php echo $link;?>"><img src="<?php echo $image;?>" style="height:<?php echo $otherheight;?>px;" title="" alt="" /></a>'

            <?php } ?>


//Specify gap between each image (use HTML):
var imagegap=" "

//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=<?php echo $rowgap;?>


////NO NEED TO EDIT BELOW THIS LINE////////////

var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden; position:absolute; top:-100px; left:-9000px; padding-bottom: 20px;">'+leftrightslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide

function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+slideshowgap+"px"
}
else if (document.layers){
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+slideshowgap
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",30)
}

function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+"px"

if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+"px"

}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+slideshowgap

if (ns_slide2.left>(actualwidth*(-1)+8))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
}
}


if (iedom||document.layers){
with (document){
document.write('<table style="width: 100%; padding: 0px; border-width: 1px #39b44a;"><tr><td>')
if (iedom){
write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+';margin-top: 20px;" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div id="test2" style="position:absolute;left:0px;top:-20px"></div>')
write('<div id="test3" style="position:absolute;left:-1000px;top:-20px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>')
write('</ilayer>')
}
document.write('</td></tr></table>')
}
}
// ]]>

</script>

        </div>
    </div>
</div>
Необходимо, чтобы при наведении мыши на фото объекта карусель не только останавливалась, но и появлялся лайтбокс с краткими данными об объекте.

Разметку пытаюсь менять в этой строке:
Код:
leftrightslide[<?php echo $i;?>]='<a href="<?php echo $link;?>"><img src="<?php echo $image;?>" style="height:<?php echo $otherheight;?>px;" title="" alt="" /></a>'

но при изменениях кода все блоки становятся друг под друга
 
Последнее редактирование:

brus46

Постоялец
Регистрация
3 Мар 2013
Сообщения
93
Реакции
16
Отвечу сам себе

в итоге сделал так:

код CSS
Код:
.tooltip {
    position: relative;
    background: #eaeaea;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    color: #222;
    outline: none;
    opacity: 1;
}

.tooltip .tt_win {
    visibility: hidden;
    position: absolute;
    bottom: 2px;
    left: 50%;
    z-index: 10;
    width: 200px;
    margin-left: -101px;
    padding: 0 0 48px;
    text-shadow: 0 1px 0 rgba(255,255,255,.4);
    background: url("../images/hsinfo.png") no-repeat;
  
}

.tooltip:hover {
    border: 0; /* IE6 fix */
}

.tooltip:hover .tt_win {
    visibility: visible;
}
.area {
    display: block;
    position: absolute;
    left: 27px;
    font-size: 9px;
    color: #fff;
    bottom: 29px;
    text-align: center;
    width: 35px;
}
.tt_sum {
    display: block;
    position: absolute;
    color: #fff;
    bottom: 10px;
    font-size: 10px;
    left: 5px;
    text-align: center;
    width: 55px;
}
.tt_name {
    color: #000;
    display: block;
    font-size: 10px;
    left: 65px;
    position: absolute;
    top: 3px;
    white-space: normal;
    line-height: 12px;
}

код php

Код:
$wintitle_2 = EZRealtyFHelper::formatDisplayPrice ($item->showprice, $item->price, $item->currency_format, $item->currency, $item->currency_position, $item->priceview, $item->freq);
$tt_sum = preg_replace('/[^0-9]/', '', $wintitle_2);

    if (!empty($item->custom2)){
        $LandArea = $item->custom2;
    }elseif(!empty($item->squarefeet))   {
        $LandArea = $item->squarefeet;
    }elseif (!empty($item->LandAreaSqFt)){
        $LandArea = $item->LandAreaSqFt;
    }else{
        $LandArea = '';
    }
  
  
                ?>
              
              
                leftrightslide[<?php echo $i;?>]='<a class="tooltip" title="" href="<?php echo $link;?>"><img src="<?php echo $image;?>" style="height:<?php echo $otherheight;?>px;" alt="" /><span class="tt_win"><span class="area"><?php echo $LandArea;?></span><span class="tt_name"><?php echo $item->adline;?></span><span class="tt_sum"><?php echo number_format($tt_sum, 0, '', ' ');?></span></span></a>';

может немного топорно, но работает ))
 

janefox

Создатель
Регистрация
22 Дек 2014
Сообщения
35
Реакции
21
А где собственно можно скачать EZRealty 7.2.0 ? или же что то посвежее. Раньше мы на этом работали, Австралийская девушка разрабатывала этот компонент и поддерживает по сей день... Хороший компонент очень.
 

brus46

Постоялец
Регистрация
3 Мар 2013
Сообщения
93
Реакции
16
вот здесь
Скрытое содержимое доступно для зарегистрированных пользователей!
 

amedia

Создатель
Регистрация
13 Май 2015
Сообщения
8
Реакции
0
Напишите отзывы о комплненте
 

brus46

Постоялец
Регистрация
3 Мар 2013
Сообщения
93
Реакции
16
нормальный компонент, есть много специфических плюшек, но допиливать руками все равно придется, т.к. заточен он под европейские потребности
 

ZiXy

Постоялец
Регистрация
25 Янв 2015
Сообщения
38
Реакции
18
нормальный компонент, есть много специфических плюшек, но допиливать руками все равно придется, т.к. заточен он под европейские потребности
очень много его переделывать долго и муторно
 

portugalam

Создатель
Регистрация
24 Фев 2008
Сообщения
29
Реакции
3
Пользовался этим движком в далеком 2008 году, еще ранних стадиях, переделывал примерно 70%, ужас. Зато научился многому, переустонавливал раз 50))...
 

brus46

Постоялец
Регистрация
3 Мар 2013
Сообщения
93
Реакции
16
Переработал для этого компонента карусель EXT Roundabout images (устанавливался по желанию клиента). Интересно получилось. Причем переработал бесплатный вариант модуля. Соответственно все ограничения убрал. В карточке объекта теперь включается/выключается отображение этого объекта в карусели. Если кому потребуется - расскажу, как сделал.
 

brus46

Постоялец
Регистрация
3 Мар 2013
Сообщения
93
Реакции
16
В компоненте оказывается не реализовано управление длиной списка через админку. Т.е. количество отображаемых объектов по умолчанию равно настройке списка по умолчанию в админке. Встал в ступор, как добавить функционал выбора количества позиций по умолчанию, отличный от общих настроек?
 
Сверху