我正试图在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>
答案 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,它使用技术背后的代码将代码放入页面。它使用自定义智能表格,适用于这些紧急情况。
祝你好运。