2013-08-01 35 views
1

我试图在ektron中调用google-jquery和一些内联脚本/样式标记。我是CMS的新手,这甚至有可能吗?代码如下:Ektron中的内联脚本标记/ JQuery

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 

     $('#accordion-js').find('h2').click(function(){ 
      $(this).next().slideToggle(); 
      }).next().hide(); 
     }); 

</script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

$('#accordion-js').find('h2').toggle(function(){ 
    $(this).css("background-color","#04396D"); 
    $(this).css("background-image","url('101_up.png')"); 
    $(this).css("background-position", "center right"); 
    $(this).css("background-repeat","no-repeat"); 
    $(this).css("color","#FFF"); 
    }, 
function(){  
    $(this).css("background-color","#f4f4f4"); 
    $(this).css("background-image","url('101_down.png')"); 
    $(this).css("background-position", "center right"); 
    $(this).css("background-repeat","no-repeat"); 
    $(this).css("color","#777"); 
    }); 
}); 
</script> 
+0

我对你正在尝试做的有点不清楚。它看起来像你已经成功包括jQuery并正在使用它。 是你的问题如何使用上面的代码在Ektron中创建切换手风琴? 要使用上面的代码,只需将其放置在您的ASPX模板中,它将像任何webforms应用程序一样运行。 – MaxPRafferty

回答

0

有几种方法可以做到这一点。

如果你是从后面的代码做到这一点。下面的警告框可以尽可能多的代码,只要你喜欢。

JS.RegisterJSBlock(this, "alert('hello');", "MyAlertId"); 

JS.RegisterJSInclude(this, "http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js", "GoogleJQuery1.7."); 

Ektron默认包含它自己的jQuery,可能值得一试。

一个创可贴的解决方案是使用HTML内容块并粘贴代码并使用内容块控件插件将其放到页面上。不是最好的方式,但它今天完成了这项工作,但没有人会赞扬你的恒星解决方案。

我们做了什么来解决这个问题是构建一个Widget,它使用代码隐藏技术将代码放入页面。它使用自定义的智能表单并适用于这些紧急情况。

祝你好运。

1

如果您尝试从CMS内容生成手风琴,则需要执行一些额外步骤才能将内容检索到您的页面上。

步骤1:创建一个aspx页面模板,并把该javascript代码到它

步骤2:删除重复的控制,如ASP:转发到您的模板。有很多关于这方面的教程。一个简单的例子是http://msdn.microsoft.com/en-us/library/zzx23804(v=vs.85).aspx

第3步:数据绑定ektron内容列表到你的中继器。此代码将类似于如下:

ASPX标记:

<div id="accordion-js"> 
    <asp:Repeater ID="myAccordion" runat="server"> 
    <ItemTemplate> 
     <h2>Content Title:<%# Eval("Title") %></h2> 
     <p>Content Body:<%# Eval("Html") %></p> 
    <ItemTemplate> 
    </asp:Repeater> 
</div> 

Aspx.cs代码隐藏:

protected void Page_Load(object sender, EventArgs e) 
{ 
    //create a content manager to interact with the CMS 
    Ektron.Cms.Framework.Content.ContentManager cCRUD = 
    new Ektron.Cms.Framework.Content.ContentManager(); 
    //create a content criteria to select content meeting specified filtering criteria from the manager 
    Ektron.Cms.Content.ContentCriteria contentSelector = 
    new Ektron.Cms.Content.ContentCriteria(); 
    //specify a filter - in this case, all content in folder '0' (the root) 
    contentSelector.AddFilter(
    Ektron.Cms.Common.ContentProperty.FolderId, 
    Ektron.Cms.Common.CriteriaFilterOperator.EqualTo, 
    0); 
    //get the list and set it as the source of our repeater 
    myAccordion.DataSource = cCRUD.GetList(contentSelector); 
    //bind the list to the repeater 
    myAccordion.DataBind(); 
}