Ektron中的内联脚本标签/ JQuery

时间:2013-08-01 15:51:06

标签: jquery ektron

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

<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>

2 个答案:

答案 0 :(得分:1)

如果您尝试从CMS内容生成手风琴,则需要执行许多其他步骤才能将内容检索到您的网页上。

第1步:创建一个aspx模板页面,并将该javascript代码放在其上

第2步:将类似asp:repeater的重复控件放到模板上。有很多教程可供选择。一个简单的例子是http://msdn.microsoft.com/en-us/library/zzx23804(v=vs.85).aspx

第3步:将ektron内容列表数据绑定到转发器。此代码类似于以下内容:

Aspx Markup:

<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 Codebehind:

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();
}

答案 1 :(得分: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,它使用技术背后的代码将代码放入页面。它使用自定义智能表格,适用于这些紧急情况。

祝你好运。