Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

Javascript in main body.

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions > Changing design
 
Thread Tools Search this Thread
  #1  
Old 04-03-2008, 01:32 PM
  jdubb's Avatar 
jdubb jdubb is offline
 

Newbie
  
Join Date: Sep 2006
Posts: 3
 

Default Javascript in main body.

Can someone point me in the right direction on this? I just trying to put some simple rollover buttons at the top of each catagory and product page. I've tried putting the javascript in the head of home.tpl but I can't get it to work. Isn't there some tutorial on this that I just can't seem to find?

Appreciate the help.
__________________
Version 4.1.3
Virginia Beach, Virginia
Reply With Quote
  #2  
Old 04-03-2008, 01:38 PM
  kube's Avatar 
kube kube is offline
 

X-Adept
  
Join Date: Sep 2005
Location: London: a small place East of Wales
Posts: 529
 

Default Re: Javascript in main body.

Hi jdubb,

What happens currently then? Any Errors?

Appears in source with no errors but doesn't appear to work at all?

Is it inline javascript or a separate js file or a combo?

Maybe a link might help or some source?
__________________
Doms
kube v4.1.9
Reply With Quote
  #3  
Old 04-04-2008, 12:09 AM
  Yurij's Avatar 
Yurij Yurij is offline
Banned
 

X-Adept
  
Join Date: Jan 2008
Posts: 486
 

Default Re: Javascript in main body.

Quote:
Originally Posted by jdubb
Can someone point me in the right direction on this? I just trying to put some simple rollover buttons at the top of each catagory and product page. I've tried putting the javascript in the head of home.tpl but I can't get it to work. Isn't there some tutorial on this that I just can't seem to find?

Appreciate the help.

Show the source code Javascript, and as you insert it into a template.
Reply With Quote
  #4  
Old 04-04-2008, 06:08 AM
  jdubb's Avatar 
jdubb jdubb is offline
 

Newbie
  
Join Date: Sep 2006
Posts: 3
 

Default Re: Javascript in main body.

When placing the javascript for the head in the /customer/home.tpl then placing the rest in the body of my html, I get the following message when trying to access the site.

Fatal error: Smarty error: [in customer/home.tpl line 25]: syntax error: unrecognized tag: display: block; (Smarty_Compiler.class.php, line 436) in /home/public_html/xcart/Smarty-2.6.12/Smarty.class.php on line 1095

I'm doing the rollovers in Macromedia Fireworks, then importing it into Dreamweaver to finish up whatever else I want to do. What I'm really wanting to do is replace the "Speed Bar' with rollover buttons centered above our banner logo at the top. This is the code that Dreamweaver generates and that I paste into the customer/home.tpl. I placed it right above the </head> tag.

Code:
<style type="text/css"> td img {display: block;} </style> <script type="text/javascript"> <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script>

I know I'm doing something "newbie" like. I really appreciate the guidance.
What I'm really wanting to do is replace the "Speed Bar' with rollover buttons.
__________________
Version 4.1.3
Virginia Beach, Virginia
Reply With Quote
  #5  
Old 04-04-2008, 07:16 AM
  Yurij's Avatar 
Yurij Yurij is offline
Banned
 

X-Adept
  
Join Date: Jan 2008
Posts: 486
 

Default Re: Javascript in main body.

Insert this block in file skin1/skin1.css

PHP Code:
td img {displayblock;} 

Everything else in tpl...

PHP Code:
<script type="text/javascript">
<!--
function 
MM_swapImgRestore() { //v3.0
  
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function 
MM_preloadImages() { //v3.0
  
var d=document; if(d.images){ if(!d.MM_pd.MM_p=new Array();
    var 
i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0i<a.lengthi++)
    if (
a[i].indexOf("#")!=0){ d.MM_p[j]=new Imaged.MM_p[j++].src=a[i];}}
}

function 
MM_findObj(nd) { //v4.01
  
var p,i,x;  if(!dd=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    
d=parent.frames[n.substring(p+1)].documentn=n.substring(0,p);}
  if(!(
x=d[n])&&d.allx=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(
i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!
&& d.getElementByIdx=d.getElementById(n); return x;
}

function 
MM_swapImage() { //v3.0
  
var i,j=0,x,a=MM_swapImage.argumentsdocument.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((
x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrcx.oSrc=x.srcx.src=a[i+2];}
}
//-->
</script
Reply With Quote
  #6  
Old 04-04-2008, 07:48 AM
  kube's Avatar 
kube kube is offline
 

X-Adept
  
Join Date: Sep 2005
Location: London: a small place East of Wales
Posts: 529
 

Default Re: Javascript in main body.

Where ever you see curly { bracers } such as inline css or javascript within a tpl... then the Smarty template engine throws an error. Wrap the whole script with {literal} {/literal} tags.

Or replace the curly brackets individually with smarty code as such... {ldelim} (for a left curly) and a {rdelim} (for a right curly) .

Example taken from Yurij's code above...

td img {ldelim}display: block;{rdelim} {*** note these are individual {left/right delimiters} Ignore this if placed in skin1.css ***}

<script type="text/javascript">
{literal} {*** Note: The BEGINNING LITERAL tag that envelopes all curly bracers and helps Smarty recognise them as { bracers } ***}
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
{/literal} {*** Note: The END LITERAL tag that envelopes all curly bracers ***}
</script>
__________________
Doms
kube v4.1.9
Reply With Quote

The following user thanks kube for this useful post:
Meredith Martin Davis (04-17-2009)
  #7  
Old 04-04-2008, 11:04 AM
  jdubb's Avatar 
jdubb jdubb is offline
 

Newbie
  
Join Date: Sep 2006
Posts: 3
 

Default Re: Javascript in main body.

That did the trick! Thanks to the both of you. I would've never figured that out on my own. I was getting confused with the combination of the style sheets and the smarty tags.

Thanks again.
__________________
Version 4.1.3
Virginia Beach, Virginia
Reply With Quote
  #8  
Old 03-19-2009, 08:24 AM
 
Pretty Scrappy Pretty Scrappy is offline
 

Advanced Member
  
Join Date: Sep 2008
Posts: 42
 

Default Re: Javascript in main body.

I just have to post and say thank you to those who help fix this for " jdubb" it worked for us as well
Thank You
__________________
Rachael Bullion
www.prettyscrappy.com
Version 4.1.11
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions > Changing design



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 10:43 AM.

   

 
X-Cart forums © 2001-2020