1
andee
how to hack smart parner scrolling partner block?
  • 2009/12/19 16:46

  • andee

  • Just popping in

  • Posts: 11

  • Since: 2008/8/8 8


hi there. im using SmartPartner V.2 and XOOPS 2.4.0

i want to hack the scrolling partner block so it can show not only the partners logo but the partners name as well.

u can see the example here
http://smartfactory.ca/

theres a block displaying a scrolling partners logo. but i want to display the partners name under that logo.

heres the code of the scrolling_partner.html

<div style="text-align: center;">
<
script type="text/javascript">




//Specify the slider's width (in pixels)
var sliderwidth="<{$block.width}>px"
//Specify the slider's height
var sliderheight="<{$block.height}>px"
//Specify the slider's slide speed (larger is faster 1-10)
var slidespeed=<{$block.speed}>
//configure background color:
slidebgcolor="#<{$block.background}>"

//Specify the slider's images
var leftrightslide=new Array()
var 
finalslide=''
<{foreach key=key item=partner from=$block.partners}>
    
leftrightslide[<{$key}>]='<{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1></a>'
 
<{/foreach}>


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

//Specify pixels gap between each slideshow rotation (use integer):
var slideshowgap=<{$block.space}>


////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">'+leftrightslide+'</span>')
var 
actualwidth=''
var cross_slidens_slide

function fillup(){
if (
iedom){
cross_slide=document.getElementByIddocument.getElementById("test2") : document.all.test2
cross_slide2
=document.getElementByIddocument.getElementById("test3") : document.all.test3
cross_slide
.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth
=document.allcross_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)
}
window.onload=fillup

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 border="0" cellspacing="0" cellpadding="0"><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+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div id="test2" style="position:absolute;left:0px;top:0px"></div>')
write('<div id="test3" style="position:absolute;left:-1000px;top:0px"></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></table>')
}
}
</
script>

</
div>



the partners image tag is
<{$partner.image}>
and the partners name tag is
<{$partner.title}>


thank you

2
culex
Re: how to hack smart parner scrolling partner block?
  • 2009/12/19 17:06

  • culex

  • Module Developer

  • Posts: 711

  • Since: 2004/9/23


I would try to change this line

leftrightslide[<{$key}>]='<{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1></a>'


To

leftrightslide[<{$key}>]='<{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1></a><br><{$partner.title}>'


But havent tested. so if you give it a try remember to backup :)

3
andee
Re: how to hack smart parner scrolling partner block?
  • 2009/12/19 17:55

  • andee

  • Just popping in

  • Posts: 11

  • Since: 2008/8/8 8


hi culex.

ive tried that before. but the image and name will be listed downways instead of sideways.

example:

(partner image1)
(partner name1)

(partner image2)
(partner name2)

and so on..

i want it to be something like this

(partner image1) (partner image2) (partner image3)
(partner name1) (partner name2) (partner name3)


i wish i could show u the result but it still on my localhost, its not uploaded yet

i wonder if it got to do with <nobr> tag in
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">'+leftrightslide+'</span>')
var 
actualwidth=''
var cross_slidens_slide

4
ghia
Re: how to hack smart parner scrolling partner block?
  • 2009/12/19 20:33

  • ghia

  • Community Support Member

  • Posts: 4953

  • Since: 2008/7/3 1


See also this.

5
andee
Re: how to hack smart parner scrolling partner block?
  • 2009/12/20 3:27

  • andee

  • Just popping in

  • Posts: 11

  • Since: 2008/8/8 8


hi ghia,

im afraid i dont know how to implement the code in the link that you gave me. it is written in php, while mine is in java script.

heres the screenshot if if i just put <{$partner.title}> at
//Specify the slider's images
var leftrightslide=new Array()
var 
finalslide=''
<{foreach key=key item=partner from=$block.partners}>
    
leftrightslide[<{$key}>]='<{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1><{$partner.title}></a>'
 
<{/foreach}>


Resized Image


heres the screenshot if if i just put <br>before and after the <{$partner.title}> at
//Specify the slider's images
var leftrightslide=new Array()
var 
finalslide=''
<{foreach key=key item=partner from=$block.partners}>
    
leftrightslide[<{$key}>]='<{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1><br><{$partner.title}><br></a>'
 
<{/foreach}>


Resized Image


if i refer to this section, the layout is defined by <table> and <td> is it got something to do with it? ive tried to change it to <ul> and <li>

if (iedom||document.layers){ 
with (document){ 
document.write('<table border="0" cellspacing="0" cellpadding="0"><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+'" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">'
write('<div id="test2" style="position:absolute;left:0px;top:0px"></div>'
write('<div id="test3" style="position:absolute;left:-1000px;top:0px"></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></table>'

}

6
ghia
Re: how to hack smart parner scrolling partner block?
  • 2009/12/20 10:21

  • ghia

  • Community Support Member

  • Posts: 4953

  • Since: 2008/7/3 1


Try this with an added div:
//Specify the slider's images
var leftrightslide=new Array()
var 
finalslide=''
<{foreach key=key item=partner from=$block.partners}>
    
leftrightslide[<{$key}>]='<div class="singleslide"><{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1><br><{$partner.title}><br></a></div>'
 
<{/foreach}>

And add in the CSS file a display:block; for the singleslide class.


7
andee
Re: how to hack smart parner scrolling partner block?
  • 2009/12/20 11:40

  • andee

  • Just popping in

  • Posts: 11

  • Since: 2008/8/8 8


problem solved!

heres the screenshot

Resized Image



i deleted the 2nd br

//Specify the slider's images
var leftrightslide=new Array()
var 
finalslide=''
<{foreach key=key item=partner from=$block.partners}>
    
leftrightslide[<{$key}>]='<div class="singleslide"><{$partner.urllink}><img style="vertical-align:middle;"src="<{$partner.image}>" alt="<{$partner.title}>" border=1><br><{$partner.title}></a></div>'
 
<{/foreach}>


and instead of display:block; i use display:table-row-group; .
heres the css

.singleslide {
    
display:table-row-group;
    
text-aligncenter;
}


i couldnt have done it without you ghia. youre a wizard! thanks!

Login

Who's Online

277 user(s) are online (175 user(s) are browsing Support Forums)


Members: 0


Guests: 277


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits