2011-02-08 6 views
2

...jqueryスクリプトをsmarty tplファイルに追加しようとすると何が問題になりますか?それは私に空白のページを与える

あなたがそうでなければSmartyのは、潜在的に致命的な障害との白ページにつながる、JavaScriptコードで中括弧内のものを解釈しようとします {literal}タグで囲む必要があり
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
{if $tplSeoFile}{include file="$modulePath/$tplSeoFile"}{/if} 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<meta name="Author" content="" /> 
<meta name="Robots" content="index, follow" /> 
<meta name="Revisit-after" content="10 days" /> 
<link rel="stylesheet" href="img/cms/css/reset.css" type="text/css" media="all" /> 
<link rel="stylesheet" href="img/cms/css/960.css" type="text/css" media="all" /> 
<link rel="stylesheet" href="img/cms/css/master.css" type="text/css" media="all" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 

    //Default Action 
    $(".tab_content").hide(); //Hide all content 
    $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
    $(".tab_content:first").show(); //Show first tab content 

    //On Click Event 
    $("ul.tabs li").click(function() { 
     $("ul.tabs li").removeClass("active"); //Remove any "active" class 
     $(this).addClass("active"); //Add "active" class to selected tab 
     $(".tab_content").hide(); //Hide all tab content 
     var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content 
     $(activeTab).fadeIn(); //Fade in the active content 
     return false; 
    }); 

}); 
</script> 


</head> 
+0

スクリプトを削除しようとしましたか?それはその後ロードされますか? – cromestant

答えて

2

死:

{literal} 
<script> 
$(document).ready(function() { 

    //Default Action 
    $(".tab_content").hide(); //Hide all content 
    $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
    $(".tab_content:first").show(); //Show first tab content 

    //On Click Event 
    $("ul.tabs li").click(function() { 
     $("ul.tabs li").removeClass("active"); //Remove any "active" class 
     $(this).addClass("active"); //Add "active" class to selected tab 
     $(".tab_content").hide(); //Hide all tab content 
     var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content 
     $(activeTab).fadeIn(); //Fade in the active content 
     return false; 
    }); 

}); 
</script> 
{/literal} 

http://www.smarty.net/docsv2/en/language.function.literal.tpl

+0

ありがとうございます - それは動作します – easyrider

+0

@簡単 - 歓迎:) – karim79

+0

解決されたマークが良いだろう!コミュニティのため – cromestant

0

Aはhere外部JSスクリプトまたはメートルにあなたのコードを取るのいずれか必要述べ参照してください。 noconflictモードでのJake! jQuery( '')を使って$( '')をかなり単純に変更します。

+0

私はそのページの2番目のヒント - あなたが選んだヒント - がどのように役立つかはわかりません。 –

+0

これは、 '$()の代わりにjQuery()を使用します。これは、jQuery(および他の多くのjsフレームワーク)がオブジェクトを$記号にマップするためです。オブジェクトを直接使用することもできます。ほとんどのフレームワークでは競合モードがないので、別のフレームワークを同時に使用することができます(通常は同じシンボルをマップします)。私はあなたがなぜそれをリリースしないシンボルを使用するつもりがないので、紛争のない部分を追加しました。 pro-tip:オブジェクトを別のシンボルにマップし、それを使用することもできます(var j = jQuery.noConflict(); j( '#div')......) – cromestant

2

私はむしろ{literal} {/ literal}を使いたいと思います。

関連する問題